{
  "openapi": "3.0.1",
  "info": {
    "title": "Github Scraper | $2 / 1k | All In One",
    "description": "Scrape GitHub at real scale with no cap. Get the richest data on repos, issues, PRs, users and orgs including stars, forks, topics, tech stack, users, owners and more. Great for market intel, dev products, lead lists, talent scouting and big, clean datasets.",
    "version": "0.0",
    "x-build-id": "VWCUhZFpot0c2SDfP"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~github-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-github-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/fatihtahta~github-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-github-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/fatihtahta~github-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-github-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",
        "properties": {
          "startUrls": {
            "title": "GitHub search page URL or Individual profile/repo URLs for more detailed results (eg. https://github.com/search?q=vscode&type=repositories)",
            "type": "array",
            "description": "Provide one or more fully-formed GitHub URLs (search results, repositories, issues, pull requests, discussions, or user/organization profiles). Each URL is crawled exactly as given, honoring any filters already present.",
            "items": {
              "type": "string"
            }
          },
          "searchType": {
            "title": "GitHub search result type (eg. repositories)",
            "enum": [
              "repositories",
              "issues",
              "pullrequests",
              "discussions",
              "users",
              "commits",
              "registrypackages",
              "wikis",
              "topics",
              "marketplace"
            ],
            "type": "string",
            "description": "Select the GitHub search vertical used when constructing URLs from keyword queries. This defines whether results return repositories, issues, pull requests, discussions, users, commits, packages, wikis, topics, or marketplace listings.",
            "default": "repositories"
          },
          "queries": {
            "title": "Search keywords (eg. playwright scraping)",
            "type": "array",
            "description": "Enter one or more GitHub keyword queries. The scraper turns each query into a GitHub search URL using the chosen result type and any filters you set below.",
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "🧑‍💻 Language (eg. JavaScript)",
            "type": "string",
            "description": "Limit results to code written primarily in a specific language (e.g., JavaScript, Python, C++). Works with any GitHub-supported language qualifier."
          },
          "owner": {
            "title": "👤 Owner (eg. torvalds)",
            "type": "string",
            "description": "Restrict matches to a single user or organization namespace (e.g., torvalds, vercel, apify). Useful for exploring everything under one owner."
          },
          "followers": {
            "title": "🧲 Followers (eg. >500)",
            "type": "string",
            "description": "Only include users or organizations with follower counts in the specified range. Supports numbers, ranges, and comparisons (e.g., 1000, >500, 100..5000)."
          },
          "forks": {
            "title": "🍴 Forks (eg. >=500)",
            "type": "string",
            "description": "Filter repositories based on fork counts using exact values, ranges, or comparison operators (e.g., 1000, >=500, 50..500)."
          },
          "stars": {
            "title": "⭐ Stars (eg. >1000)",
            "type": "string",
            "description": "Target repositories by popularity using star counts. Accepts numbers, ranges, or comparisons (e.g., 5000, >1000, 100..10000)."
          },
          "topic": {
            "title": "🏷️ Topic (eg. cryptography)",
            "type": "string",
            "description": "Require repositories to include a specific topic tag (e.g., cryptography, github-actions). Combine multiple topics by repeating this field in separate runs."
          },
          "license": {
            "title": "📄 License (eg. mit)",
            "type": "string",
            "description": "Filter repositories by license keyword or SPDX identifier (e.g., mit, apache-2.0, gpl-3.0). Helps ensure compatibility with your project requirements."
          },
          "created": {
            "title": "🆕 Created (eg. 2025-12-10)",
            "type": "string",
            "description": "Filter repositories by creation date using exact values, ranges, or comparisons (e.g., 2025-12-10, >2025-12-07, 2024-01-01..2024-12-31)."
          },
          "pushed": {
            "title": "🫸 Last Pushed (eg. <2025-12-10)",
            "type": "string",
            "description": "Filter repositories by the most recent commit date. Accepts exact dates, ranges, or comparisons (e.g., <2025-12-10, 2024-01-01..2024-06-30)."
          },
          "size": {
            "title": "📦 Size (KB) (eg. <5000)",
            "type": "string",
            "description": "Filter repositories by repository size in kilobytes using numbers, ranges, or comparison operators (e.g., 1000, <5000, 0..2000)."
          },
          "limit": {
            "title": "Maximum listings to collect (eg. 50000)",
            "minimum": 10,
            "type": "integer",
            "description": "Stop the run once this many results have been saved across all inputs and search modes. Helps cap runtime and dataset size for large crawls.",
            "default": 50000
          },
          "proxyConfiguration": {
            "title": "Proxy configuration (eg. Apify residential proxy)",
            "type": "object",
            "description": "Configure Apify proxy settings to distribute requests and avoid GitHub throttling. Residential proxies are preselected for higher reliability.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}