{
  "openapi": "3.0.1",
  "info": {
    "title": "Dotfyle Neovim Plugins Scraper",
    "description": "Scrape Dotfyle (dotfyle.com) - a directory of 2,500+ Neovim plugins. Browse trending/popular/new plugins, search by keyword, filter by category/tag, and look up a specific plugin by owner/repo. Returns name, author, GitHub URL, description, stars, category, last-synced date.",
    "version": "1.0",
    "x-build-id": "klHoe398f2qg0sffe"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~dotfyle-neovim-plugins-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-dotfyle-neovim-plugins-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/crawlerbros~dotfyle-neovim-plugins-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-dotfyle-neovim-plugins-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/crawlerbros~dotfyle-neovim-plugins-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-dotfyle-neovim-plugins-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "byPlugin"
            ],
            "type": "string",
            "description": "What to fetch.",
            "default": "search"
          },
          "searchQuery": {
            "title": "Search query (mode=search)",
            "type": "string",
            "description": "Free-text keyword matched against plugin name/owner/description.",
            "default": ""
          },
          "categories": {
            "title": "Categories / tags (mode=search)",
            "type": "array",
            "description": "Filter to one or more plugin categories, e.g. LSP, Completion, Colorscheme, Fuzzy Finder.",
            "items": {
              "type": "string",
              "enum": [
                "ai",
                "animation",
                "automation",
                "bars-and-lines",
                "buffers",
                "code-runner",
                "color",
                "colorscheme",
                "colorscheme-creation",
                "colorscheme-switchers",
                "command-line",
                "comment",
                "competitive-programming",
                "completion",
                "csv-files",
                "cursorline",
                "database",
                "debugging",
                "dependency-management",
                "deployment",
                "diagnostics",
                "editing-support",
                "fennel",
                "file-explorer",
                "folding",
                "formatting",
                "fun",
                "fuzzy-finder",
                "game",
                "git",
                "github",
                "golang",
                "icon",
                "indent",
                "keybinding",
                "language",
                "live-preview",
                "lsp",
                "lsp-installer",
                "lua-colorscheme",
                "markdown-and-latex",
                "marks",
                "media",
                "motion",
                "note-taking",
                "nvim-dev",
                "os-specific",
                "php",
                "plugin-manager",
                "plugin-template",
                "pre-made-configuration",
                "preconfigured",
                "programming-languages-support",
                "project",
                "quickfix",
                "register",
                "remote-development",
                "scrollbar",
                "scrolling",
                "search",
                "session",
                "snippet",
                "split-and-window",
                "starter-templates",
                "startup",
                "stats-tracking",
                "statusline",
                "syntax",
                "tabline",
                "terminal-integration",
                "test",
                "tmux",
                "toys",
                "tree-sitter-based",
                "treesitter-based",
                "utility",
                "version-manager",
                "web-development",
                "workflow",
                "yaml"
              ],
              "enumTitles": [
                "AI",
                "Animation",
                "Automation",
                "Bars And Lines",
                "Buffers",
                "Code Runner",
                "Color",
                "Colorscheme",
                "Colorscheme Creation",
                "Colorscheme Switchers",
                "Command Line",
                "Comment",
                "Competitive Programming",
                "Completion",
                "CSV Files",
                "Cursorline",
                "Database",
                "Debugging",
                "Dependency Management",
                "Deployment",
                "Diagnostics",
                "Editing Support",
                "Fennel",
                "File Explorer",
                "Folding",
                "Formatting",
                "Fun",
                "Fuzzy Finder",
                "Game",
                "Git",
                "GitHub",
                "Go (Golang)",
                "Icon",
                "Indent",
                "Keybinding",
                "Language",
                "Live Preview",
                "LSP",
                "LSP Installer",
                "Lua Colorscheme",
                "Markdown and LaTeX",
                "Marks",
                "Media",
                "Motion",
                "Note Taking",
                "Nvim Dev",
                "OS-Specific",
                "PHP",
                "Plugin Manager",
                "Plugin Template",
                "Pre Made Configuration",
                "Preconfigured",
                "Programming Languages Support",
                "Project",
                "Quickfix",
                "Register",
                "Remote Development",
                "Scrollbar",
                "Scrolling",
                "Search",
                "Session",
                "Snippet",
                "Split And Window",
                "Starter Templates",
                "Startup",
                "Stats Tracking",
                "Statusline",
                "Syntax",
                "Tabline",
                "Terminal Integration",
                "Test",
                "Tmux",
                "Toys",
                "Tree Sitter Based",
                "Treesitter Based",
                "Utility",
                "Version Manager",
                "Web Development",
                "Workflow",
                "YAML"
              ]
            },
            "default": []
          },
          "sortBy": {
            "title": "Sort by (mode=search)",
            "enum": [
              "trending",
              "popular",
              "new"
            ],
            "type": "string",
            "description": "Ordering of results.",
            "default": "trending"
          },
          "owner": {
            "title": "GitHub owner (mode=byPlugin)",
            "type": "string",
            "description": "GitHub org/user that owns the plugin repo, e.g. `nvim-telescope`. Required together with `repoName` for mode=byPlugin -- leaving this blank while setting `repoName` (or vice versa) is treated as missing, not defaulted, so you never silently get an unrelated plugin back.",
            "default": ""
          },
          "repoName": {
            "title": "GitHub repo name (mode=byPlugin)",
            "type": "string",
            "description": "GitHub repository name, e.g. `telescope.nvim`. Required together with `owner` for mode=byPlugin -- leaving this blank while setting `owner` (or vice versa) is treated as missing, not defaulted, so you never silently get an unrelated plugin back.",
            "default": ""
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Hard cap on emitted plugin records (mode=search).",
            "default": 25
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}