# GitHub Repository Scraper - Stars, Topics, Trending (`logiover/github-repository-scraper`) Actor

Scrape GitHub repos by search query and export stars, topics, forks & license to CSV/JSON. GitHub data export without an API key - trending repos scraper.

- **URL**: https://apify.com/logiover/github-repository-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Developer tools, Business
- **Features:** Limited permissions
- **Stats:** 24 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## GitHub Repository Scraper — Stars, Forks, Topics & Trending Repos (No API Key)

![GitHub Repository Scraper — Stars, Topics & Trending Repos](https://img.shields.io/badge/GitHub-Repository%20Scraper-181717?logo=github\&logoColor=white)

![Apify Actor](https://img.shields.io/badge/Apify-Actor-00A67E?logo=apify\&logoColor=white) ![No API key](https://img.shields.io/badge/No%20API%20key-required-2ea44f) ![Pay per result](https://img.shields.io/badge/Pricing-Pay%20per%20result-1C7ED6) ![Dev Intel](https://img.shields.io/badge/Category-Dev%20%26%20Research%20Intel-8B5CF6) ![Export](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel-F59E0B)

Bulk-scrape public **GitHub repositories** by search query and export **stars, forks, language, topics, owner, license and activity dates** to clean structured JSON, CSV or Excel. Hand it any GitHub search string — `language:`, `topic:`, `stars:>N`, `created:>YYYY-MM-DD` — and get back a flat dataset of every matching repo. Reads the **official GitHub Search API** directly. **Fast, no login, no personal access token, no API key, no proxy, no browser.**

> ### 🏆 Why this GitHub scraper?
>
> **20 fields per repo** · **up to 1,000 repos per query** · official Search API (no HTML scraping, no anti-bot games) · flat warehouse-ready schema · export to JSON / CSV / Excel. The unofficial **GitHub API alternative** for open-source intelligence, dependency tracking, developer sourcing and trending-repo discovery.

***

### ✨ What this Actor does / Key features

- 🔌 **Official GitHub Search API** — stable, well-documented and structured; no HTML scraping, no headless browser, no anti-bot bypass.
- 🔎 **Full GitHub search syntax** — every qualifier GitHub supports: `language:`, `topic:`, `stars:>N`, `forks:>N`, `created:>YYYY-MM-DD`, `pushed:>YYYY-MM-DD`, `archived:false`, `is:public`, `org:`, `user:`, free text, and any combination.
- 🔢 **Flexible sort & order** — sort by `stars`, `forks`, `updated` or `help-wanted-issues`, ascending or descending.
- ⭐ **Rich repo metadata** — 20 fields per repo: stars, forks, open issues, watchers, language, topics, license, archived flag, dates, owner and owner type.
- 📅 **Activity tracking** — `createdAt`, `updatedAt` and `pushedAt` separate actively-developed repos from abandoned ones.
- 👤 **Owner identity** — `owner` login plus `ownerType` (`User` vs `Organization`) for downstream segmentation.
- ♾️ **Unlimited mode** — `maxRepos=0` pulls every result the query allows (GitHub Search caps at 1,000 per query).
- 🧱 **Flat schema** — no nested JSON to wrangle; drops straight into a spreadsheet or warehouse.
- ⏱️ **Schedule-friendly** — deterministic and idempotent, ideal for daily ecosystem tracking.
- 🔓 **No auth required** — anonymous GitHub Search API access.

### 🚀 Quick start (3 steps)

1. **Configure** — type any GitHub search query (e.g. `topic:ai language:python stars:>500`), pick a `sort` and `order`, and set `maxRepos`.
2. **Run** — click **Start**. The Actor paginates the Search API in pages of 100 and streams repositories into your dataset.
3. **Get your data** — open the **Output** tab and export to **JSON, CSV, Excel, HTML, XML or JSONL**, or pull it via the Apify API.

### 📥 Input

Everything is optional — with no input the Actor defaults to `stars:>1000` sorted by stars.

#### Example — trending AI repos written in Python

```json
{
  "searchQuery": "topic:ai language:python stars:>500",
  "sort": "stars",
  "order": "desc",
  "maxRepos": 0
}
```

#### Example — active Rust CLI devtools created this year

```json
{
  "searchQuery": "language:rust topic:cli created:>2026-01-01 stars:>50 archived:false",
  "sort": "updated",
  "order": "desc",
  "maxRepos": 500
}
```

#### Example — every public repo owned by an organization

```json
{
  "searchQuery": "org:vercel fork:false",
  "sort": "stars",
  "order": "desc",
  "maxRepos": 0
}
```

| Field | Type | Required | Description |
|---|---|---|---|
| `searchQuery` | string | No | Any GitHub Search query string. Free text and qualifiers both work: `language:python`, `topic:llm`, `stars:>1000`, `created:>2026-01-01`, `pushed:>2026-04-01`, `archived:false`, `is:public`, `org:openai`, `user:torvalds`. Default `stars:>1000`. |
| `sort` | enum | No | Sort field: `stars`, `forks`, `updated`, `help-wanted-issues`. Default `stars`. |
| `order` | enum | No | Sort direction: `desc` or `asc`. Default `desc`. |
| `maxRepos` | integer | No | Hard cap on rows. `0` = pull every available result (GitHub Search caps at 1,000 per query). |

> **Beating the 1,000-result cap:** GitHub Search returns at most 1,000 rows per query. To scrape a larger niche, split the query into narrower windows — by date (`created:2024-01-01..2024-06-30`), star band (`stars:100..500`), language or topic. Each window gets its own 1,000-row budget.

#### Additional input fields

These optional fields are also available in the input form and API:

| Field | Type | Default | Description |
|---|---|---|---|
| `proxyConfiguration` | proxy | `{"useApifyProxy": true}` | Proxy used for requests. Apify Proxy (AUTO) is recommended; the public GitHub API also works over a direct connection as a fallback. |

### 📤 Output

One row per repository — **20 fields**, exportable to JSON, CSV, Excel, HTML, XML or JSONL. Here is a trimmed sample record:

```json
{
  "id": 65600975,
  "fullName": "openai/whisper",
  "name": "whisper",
  "owner": "openai",
  "ownerType": "Organization",
  "description": "Robust Speech Recognition via Large-Scale Weak Supervision",
  "url": "https://github.com/openai/whisper",
  "homepage": "",
  "language": "Python",
  "topics": ["audio", "speech-recognition", "deep-learning", "pytorch"],
  "stars": 88231,
  "forks": 10241,
  "openIssues": 102,
  "watchers": 88231,
  "license": "MIT",
  "isArchived": false,
  "createdAt": "2022-09-21T16:35:42.000Z",
  "updatedAt": "2026-05-15T09:11:00.000Z",
  "pushedAt": "2026-05-12T14:22:18.000Z",
  "scrapedAt": "2026-07-06T10:00:00.000Z"
}
```

<details>
<summary><b>📋 Full field reference (click to expand)</b></summary>

| Field | Type | Meaning |
|---|---|---|
| `id` | integer | GitHub numeric repository ID |
| `fullName` | string | `owner/repo` — the canonical identifier |
| `name` | string | Repository name (without owner) |
| `owner` | string | Owner login (user or organization name) |
| `ownerType` | string | `User` or `Organization` |
| `description` | string | Repo short description (as shown under the name) |
| `url` | string | Canonical github.com URL |
| `homepage` | string | Project homepage URL, if set |
| `language` | string | Primary programming language detected by GitHub |
| `topics` | array | Repo topics (manually set by the owner) |
| `stars` | integer | Current star count |
| `forks` | integer | Current fork count |
| `openIssues` | integer | Current open-issues count (includes PRs) |
| `watchers` | integer | Watcher count (equals stars for most repos) |
| `license` | string | License identifier (e.g. `MIT`, `Apache-2.0`, `GPL-3.0`) |
| `isArchived` | boolean | True if the repo has been archived (read-only) |
| `createdAt` | string | ISO 8601 timestamp of repo creation |
| `updatedAt` | string | ISO 8601 timestamp of the last metadata update |
| `pushedAt` | string | ISO 8601 timestamp of the last code push (best activity signal) |
| `scrapedAt` | string | ISO 8601 timestamp of the scrape |

</details>

#### Additional output fields

These fields are also present in the dataset:

| Field | Type | Description |
|---|---|---|
| `defaultBranch` | string | Default branch name. |
| `isFork` | boolean | Whether the repo is a fork. |
| `isTemplate` | boolean | Whether the repo is a template. |
| `hasIssues` | boolean | Whether issues are enabled. |

### 💡 Use cases

- **Open-source intelligence for VCs** — run `topic:ai stars:>500 created:>2026-01-01` weekly to catch new AI projects the moment they cross a star threshold, before they trend elsewhere.
- **Dependency & supply-chain mapping** — pull every repo using a topic or library you care about (`topic:kubernetes`, `topic:llm`) and build a database of who depends on what.
- **Security & vulnerability research** — find every public repo using a framework or language version; when a CVE drops, you have a pre-built, star-ranked target list.
- **Technical talent sourcing** — `language:rust stars:>100` sorted by `updated` returns maintainers of significant, actively-developed projects — a recruiter's shortlist.
- **Devtool adoption & competitive intelligence** — track every repo that uses a competitor's library, compare growth month over month, and segment by language and topic.
- **Trending discovery & curation** — build "best of GitHub this week/month" newsletters, dashboards or podcasts from a single scheduled scrape.
- **Ecosystem mapping for research & journalism** — map every project in a niche (LLM agents, web3 infra, climate tech) and cross-reference languages, owners, dates and licenses.

### 👥 Who uses it

VCs & investors scouting open-source momentum · security & AppSec teams tracking dependencies · technical recruiters sourcing by stack · OSS maintainers monitoring competitors · devtool product & growth teams measuring adoption · data teams & journalists powering ecosystem dashboards.

### 💰 Pricing

This Actor runs on a simple **pay-per-result** model — you pay only for the repository rows saved to the dataset, and queries that match nothing are not billed. Try it on the **free tier** first, then scale up. See the **Pricing** tab on this page for the current rate.

### ❓ Frequently Asked Questions

**Is using this GitHub scraper allowed?**
Yes. It uses the official public GitHub Search API and reads only publicly visible repository metadata. Use the data responsibly under GitHub's terms.

**Do I need a GitHub account, login, token or API key?**
No. The Actor works against GitHub's public Search API without authentication — no login, no personal access token and no API key to manage. (Authenticated requests would raise the rate-limit ceiling; request a custom build if you need that.)

**How many repos can I get per run?**
GitHub Search caps any single query at 1,000 results. Set `maxRepos=0` to pull every available result for your query. To go beyond 1,000, split your query into narrower windows (by date, star band, language or topic) — each window has its own 1,000-row budget.

**What search syntax does it support?**
Any GitHub Search qualifier and free-text combination. Common qualifiers: `language:`, `topic:`, `stars:`, `forks:`, `size:`, `created:`, `pushed:`, `archived:`, `is:public`, `org:`, `user:`. Comparators: `>N`, `<N`, `>=N`, `<=N`, `N..M`. Use exactly the same syntax you'd type into the github.com search bar.

**What's the difference between `updatedAt` and `pushedAt`?**
`updatedAt` reflects any metadata change (a description edit, a star-count change), while `pushedAt` reflects an actual code push to a branch. Use `pushedAt` to identify truly active development.

#### Is this a GitHub API alternative?

Yes. This Actor reads GitHub's official Search API for you, handles pagination and rate limits, flattens the nested response, and returns a warehouse-ready dataset — so it works as a no-setup GitHub API alternative with no token to manage.

#### Can I scrape GitHub without an API key or login?

Yes. The Actor reads public repository metadata through GitHub's anonymous public Search API — no GitHub login, no personal access token and no API key required, only an Apify account.

#### Is this a GitHub stars scraper for trending repos?

Yes. Sort by stars and filter by `created:` / `pushed:` dates to build any trending-style list you want, then export the trending-repos dataset for newsletters, dashboards or VC deal-flow tracking.

#### How do I export GitHub repos to CSV or JSON?

Run any search query, then download the resulting Apify Dataset as CSV, JSON, Excel, HTML, XML or JSONL. Every repository becomes one flat row, so the export drops straight into a spreadsheet or warehouse.

#### How do I get every repo in an organization?

Use `org:openai` (replace with the org slug) as your `searchQuery`. Add `fork:false` to exclude forks: `org:openai fork:false`.

### 🔗 More dev, research & intelligence scrapers by logiover

Building a developer-ecosystem or market-intelligence pipeline? Pair the GitHub scraper with the rest of the suite:

| Actor | What it does |
|---|---|
| [npm Package Intelligence Scraper](https://apify.com/logiover/npm-package-intelligence-scraper) | npm package metadata, downloads & dependency signals |
| [Hugging Face Hub Intelligence Scraper](https://apify.com/logiover/huggingface-hub-intelligence-scraper) | Models, datasets & Spaces with downloads and likes |
| [CVE Security Advisory Monitor](https://apify.com/logiover/cve-security-advisory-monitor) | New CVEs and security advisories for dependency risk |
| [GitHub Activity Stream](https://apify.com/logiover/github-activity-stream) | Live GitHub events — commits, releases, issues |
| [arXiv Paper Scraper](https://apify.com/logiover/arxiv-paper-scraper) | Preprints by category, author and keyword |
| [Google News Scraper](https://apify.com/logiover/google-news-scraper) | News coverage by keyword and source |
| [SERP Keyword Research](https://apify.com/logiover/serp-keyword-research) | Search-engine results & keyword intelligence |
| [Meta Ad Library Scraper](https://apify.com/logiover/meta-ad-library-scraper) | Competitor ad creative & spend signals |
| [Product Hunt Daily Launches Scraper](https://apify.com/logiover/product-hunt-daily-launches-scraper) | Today's launches with votes and makers |

👉 Browse all **[logiover scrapers on Apify Store](https://apify.com/logiover)** — 180+ actors across real estate, jobs, crypto, social media & B2B data.

### ⏰ Scheduling & integration

Schedule this Actor to run **hourly** for new-trending-repo alerts in a fast-moving topic, **daily** for ecosystem dashboards and VC deal-flow trackers, **weekly** for newsletters and dependency reports, or **monthly** for "state of the X ecosystem" reports. Push new rows into Slack, Discord, Notion, Airtable, Google Sheets, Postgres, BigQuery or your CRM via Apify Webhooks and the Apify API. Connect it to **Make, n8n or Zapier** for no-code pipelines.

### ⭐ Support & feedback

Found a bug or need an extra field? Open an issue on the **Issues** tab — response is usually fast. If this Actor saves you time, a **★★★★★ review** on the Store page genuinely helps and is hugely appreciated. 🙏

### ⚖️ Legal

This Actor uses the official public GitHub Search API and extracts only publicly visible repository metadata. It is intended for legitimate research, analytics and monitoring. You are responsible for complying with GitHub's terms of service and any applicable laws.

***

This Actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by GitHub Repository; GitHub Repository and all other trademarks mentioned here are the property of their respective owners.

### How much GitHub Repository data can you extract in one run?

A single run returned **70 rows** in 14 seconds on the example input. That example is deliberately narrow; the result limit and the input list are both yours to widen. That is roughly **300 rows a minute**.

There is no hard ceiling built into this Actor. What bounds a run is the result limit you set, the breadth of the input you give it, and how much GitHub Repository itself publishes. Because billing is per result, a wider run costs proportionally more and a narrow one costs almost nothing — so it is worth starting small and scaling once the output looks right.

### GitHub Repository scraping — frequently asked questions

#### Do I need a GitHub Repository API key, account or login?

No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.

#### How do I export GitHub Repository data to CSV, Excel, JSON or Google Sheets?

Open the **Storage** tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.

#### Can I schedule this GitHub Repository scraper to run daily or hourly?

Yes. Use the **Schedules** tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the rows you care about really do change that fast.

#### How many rows can I get, and what does it cost?

See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.

#### Is scraping GitHub Repository legal?

This Actor collects only information that GitHub Repository publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.

#### What happens if GitHub Repository blocks the run or changes its layout?

A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run **fails with the reason** instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".

#### Can I use this with an AI agent, LangChain or an MCP client?

Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.

### 📝 Changelog

#### 2026-11-01

- Monthly health check (2026-11-01): a live run on the current build completed successfully and returned data. Input options, output fields and pricing are unchanged.
- README refreshed: 3 links to retired Actors removed; independence disclaimer added; documented 1 additional input field; documented 4 additional output fields.

#### 2026-10-15

- Every request now has a hard time limit, so a proxy connection that stalls can no longer hold up the run or push it past its timeout.
- A run that reaches its maximum cost per run now stops cleanly with its results saved and a status message, instead of ending as aborted.
- A proxy group your account cannot use no longer stops the run at start-up; it falls back to the default Apify Proxy.
- Runs with a short timeout (API and AI-agent calls) now finish inside it with what they collected, instead of being cut off.
- Memory is managed within the run's own limit, which removes a rare out-of-memory crash on large pages.

#### 2026-09-23

- Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
- Output verified on a live run: 25 columns returned, 96.9% of cells populated.
- Run reliability reviewed: 100.0% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.

#### 2026-09-01

- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.

#### 2026-08-11

- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

#### 2026-08-01

- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.

#### 2026-07-06

- ✨ README overhaul: shields badge row, richer trimmed output sample, collapsible full field reference, ready-to-run example scenarios, dev/research suite cross-links and clearer quick-start.

#### 2026-07-01

- Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
- Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
- Added ready-to-run example tasks that cover common real-world use cases.

#### 2026-06-15

- Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

#### 2026-06-07

- Docs: added coverage for exporting GitHub repos to CSV/JSON, scraping GitHub without an API key, and building trending repos / GitHub stars data exports.

#### 2026-06-05

- 🛡️ Reliability fix: results are no longer dropped by strict output validation — runs now complete cleanly even at high volume (thousands of results).
- ⚡ Stability & performance hardening; fresh rebuild.

#### 2026-06-04

- Verified live & refreshed build — reliability/maintenance pass.

#### 2026-06-01

- Maintenance & reliability pass: pulled the latest source and rebuilt the Actor on the current base image; build verified.

***

\*Maintained: last verified 2026-11-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).

# Changelog

This Actor's version history is a separate document: https://apify.com/logiover/github-repository-scraper/changelog.md

# Actor input Schema

## `searchQuery` (type: `string`):

GitHub search query, e.g. 'stars:>1000 language:python', 'topic:ai created:>2026-01-01', 'machine learning'. Leave as-is to fetch the most popular / trending repositories.

## `language` (type: `string`):

Optionally restrict results to a programming language. Leave as 'Any language' to include all. (Appended to the search query as language:<value>.)

## `sort` (type: `string`):

Which field to sort the results by.

## `order` (type: `string`):

Sort direction.

## `maxRepos` (type: `integer`):

Maximum repos to save. Keep it modest for a fast, cheap run; raise it to pull more (GitHub search caps at 1000 per query). 0 = up to the 1000 cap.

## `proxyConfiguration` (type: `object`):

Proxy used for requests. Apify Proxy (AUTO) is recommended; the public GitHub API also works over a direct connection as a fallback.

## Actor input object example

```json
{
  "searchQuery": "stars:>1000",
  "language": "",
  "sort": "stars",
  "order": "desc",
  "maxRepos": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All records extracted by this run. Open the Dataset tab to browse, filter, and export as CSV, JSON, or Excel.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQuery": "stars:>1000",
    "maxRepos": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/github-repository-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQuery": "stars:>1000",
    "maxRepos": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/github-repository-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQuery": "stars:>1000",
  "maxRepos": 100
}' |
apify call logiover/github-repository-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,logiover/github-repository-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/aoPvOdxAWSHenBMmn/builds/nXFPBAMpS3ScNospU/openapi.json
