# GitHub repository search API

> GitHub repository search API: Repository search — name, description, language. $0.0005 per delivered repository, nothing delivered means nothing charged.

[Home](https://quanticdata.io/)/[Collectors](https://quanticdata.io/collectors/)/*GitHub repository search API*

# GitHub repository search API

A GitHub repository search API turns a repo query into rows: owner/name, description, primary language, star count, topics, the archived flag and the last-update time. Send a query — GitHub's own search syntax works, language:go stars:>500 and all — pick best-match, stars or recently-updated order, and get the ranked list back without holding a token.

[Get my free API key](https://app.quanticdata.io/register) [See the request](/collectors/github-repository-search-api/#integration)

$0.0005 per delivered repository · $2 free every month · Failed runs never billed

POST /v1/scraper/collectors/github_repos/run

```
$ curl $QD/github_repos/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"query": "web scraper", "sort": "stars", "max_results": 20}'
{ "status": "done", "count": 20,
  "results": [
    {
      "repo": "…",
      "owner": "…",
      "name": "…",
      "description": "…" } ],
  "cost": 0.01 }
# 20 repositorys × $0.0005 · nothing delivered, nothing charged
```

**$0.0005 / repository**4,000 repositorys on the free $2 every month

**Semantic input**query, sort, country — no URL lists

**Up to 50**repositorys per run, pagination handled for you

**No browser**read over HTTP/TLS — cheaper and faster than rendering

On this page: [What it is](/collectors/github-repository-search-api/#what) [Output fields](/collectors/github-repository-search-api/#output) [Inputs](/collectors/github-repository-search-api/#input) [Pricing](/collectors/github-repository-search-api/#pricing) [Integration](/collectors/github-repository-search-api/#integration) [Use cases](/collectors/github-repository-search-api/#use-cases) [Versus the alternatives](/collectors/github-repository-search-api/#compare) [FAQ](/collectors/github-repository-search-api/#faq)

## What a GitHub repository search API does

The GitHub REST search endpoint throttles unauthenticated callers to ten requests a minute, and even with a token the search window is small enough that a sweep over a popular term exhausts it before you have paged through the matches. This collector reads the same ranking from the server-rendered search page instead, so there is no token to provision, no per-minute search window to back off from, and the only thing you size is how many repositories you want back.

Every row is already typed: stars as an integer, topics as an array, `archived` as a boolean, `updated_at` as an ISO timestamp. That is the shape you want for filtering a technology landscape — sort by stars to find the incumbents, sort by updated to drop the abandoned forks — without parsing star counts out of a rendered "1.2k" or guessing whether a repo is still alive.

Input is meaning, not a URL *query* *sort* *country* *max_results*

## What one repository looks like

Every delivered repository carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.

| Field | Type | What it holds |
| --- | --- | --- |
| `rank` | integer | 1-based position. |
| `repo` | string | owner/name. |
| `owner` | string · nullable | Owner login. |
| `name` | string · nullable | Repository name. |
| `description` | string · nullable | Repo description. |
| `language` | string · nullable | Primary language. |
| `stars` | integer · nullable | Star count. |
| `topics` | string[] | Repo topics. |
| `archived` | boolean | Archived flag. |
| `updated_at` | string · nullable | Last update (ISO 8601). |
| `url` | string | Repository URL. |

## Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

| Input | Type | Required | What it does |
| --- | --- | --- | --- |
| `query` | string | yes | Search query — GitHub syntax works ("web scraper language:python stars:>100"). |
| `sort` | string | no | best_match (default), stars, or updated. One of: `best_match`, `stars`, `updated`. |
| `country` | string | no | ISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool. |
| `max_results` | integer | no | How many repositories to deliver at most (1–50). You pay only for delivered repositories. |

Pricing

## GitHub repository search API pricing

$0.0005 per delivered repository. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 4,000 repositorys before you spend anything.

**$0.0005**per delivered repository*$0.4 per 1,000 delivered repositorys*

**4,000 repositorys**on the free allowance*$2 every month, no card*

**Zero rows**zero charge*blocks, captchas and retries are on us*

**−30%**on volume tiers*the catalog returns your key's price*

### Pay as you go

$0/mo

- $2 free credit / month

- 60 requests / min

- List unit prices

### Starter

$19/mo

- $15 free credit / month

- 300 requests / min

- 10% off unit prices

Most popular

### Growth

$79/mo

- $50 free credit / month

- 600 requests / min

- 20% off unit prices

### Scale

$299/mo

- $250 free credit / month

- 1,200 requests / min

- 30% off unit prices

Same wallet, same key and same $2 monthly allowance as every other [Data API](https://quanticdata.io/web-data-api-for-ai/). Prices are launch pricing read live from the billing config — `GET /v1/scraper/collectors` returns the price your key actually pays.

Integration

## One POST, typed rows

Base URL `https://api.quanticdata.io/v1`, Bearer auth, the same key as every other Data API. Endpoint: `POST /v1/scraper/collectors/github_repos/run`.

```
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/github_repos/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"web scraper","sort":"stars","max_results":20}'
```

```
import requests

r = requests.post(
    "https://api.quanticdata.io/v1/scraper/collectors/github_repos/run",
    headers={"Authorization": f"Bearer {QD_API_KEY}"},
    json={
        "query": "web scraper",
        "sort": "stars",
        "max_results": 20
    },
    timeout=120,
)
for row in r.json()["payload"]["results"]:
    print(row)
```

```
const res = await fetch(
  "https://api.quanticdata.io/v1/scraper/collectors/github_repos/run",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.QD_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"query":"web scraper","sort":"stars","max_results":20}),
  },
);
const { payload } = await res.json();
console.table(payload.results);
```

```
claude mcp add quantumproxies \
  -e QUANTUMPROXIES_API_KEY=qd_live_your_key_here \
  -- npx -y quantumproxies-mcp

# then, in the chat:
> run the github_repos collector with query="web scraper" and sort="stars"
```

## What people build with the GitHub repository search API

Three shapes of work this endpoint was designed around.

### Dependency and tooling scouting

Search a problem space, sort by stars, and get the field of libraries that solve it with their language and topics attached — the shortlist an engineer would otherwise assemble tab by tab.

### Ecosystem trend tracking

Re-run the same query on a schedule and watch star counts and last-update times move, so a technology that is gaining or going stale shows up as a number rather than a hunch.

### Populating a software catalog

Feed queries per language or topic and store owner, description and topics as structured rows, ready to join against your own inventory of what your teams already use.

## GitHub repository search API versus rolling your own

The differences that actually cost time when you build this in-house.

|  | DIY scraper | This collector |
| --- | --- | --- |
| Auth | A personal access token per client | None — nothing to provision or rotate |
| Rate ceiling | The API's per-minute search window | The search page, paginated on our side |
| Query language | Whatever your client re-implements | GitHub's own syntax, passed straight through |

## FAQ

Questions we get about the GitHub repository search API.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### Does this use my GitHub token or count against the API?

Neither. It reads the public server-rendered search results page, ten repositories to a page, and paginates for you. There is no token to supply and nothing is drawn from the REST API's search quota, so a broad crawl does not trip the unauthenticated ten-requests-a-minute limit.

### Can I use qualifiers like <code>language:</code> and <code>stars:&gt;1000</code>?

Yes. The query is handed to GitHub verbatim, so the full search syntax works — `language:python`, `stars:>1000`, `topic:`, `org:` and the rest — and you can order the result by best match, stars or last update.

### What fields come back per repository?

owner/name, description, primary language, star count, topics, the archived flag, the last-update timestamp and the repo URL. It is repository-level metadata for search and ranking; it does not open each repo to pull forks, issues, contributors or file contents.

### Is there a free GitHub repository search API?

Every account gets $2 of credit every month with no card, which is about 4,000 delivered repositorys on this endpoint at $0.0005 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.

### How much does one run cost?

Multiply the rows you actually receive by $0.0005. A run capped at 50 repositorys — the maximum for this collector — costs $0.025 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and `GET /v1/scraper/collectors` returns the price your key actually pays.

## Run the GitHub repository search API now

$2 of free credit every month, no card. Your key returns its own prices from `GET /v1/scraper/collectors`.

[Get my free API key](https://app.quanticdata.io/register)

Related: [All 65 collectors](https://quanticdata.io/collectors/) [Reddit scraper API](https://quanticdata.io/collectors/reddit-scraper-api/) [Google search results API](https://quanticdata.io/collectors/google-search-results-api/) [Keyword research API](https://quanticdata.io/collectors/keyword-research-api/) [Hacker News API](https://quanticdata.io/collectors/hacker-news-api/) [Stack Overflow API](https://quanticdata.io/collectors/stack-overflow-api/) [Documentation](https://quanticdata.io/docs/)

---

Source: https://quanticdata.io/collectors/github-repository-search-api/ · Site index for AI: https://quanticdata.io/llms.txt
