GitHub scraper API: search results and public pages as JSON
Send any GitHub page URL with recipe=github and get name, description, language and 7 more fields as JSON. No selectors to write, no proxies to pick.
- 2 page types
- 10 fields
- 5 credits a page · $0.50 per 1,000
- Working · 100% in 7 days
5,000 free credits for 7 days, no card.
curl -G 'https://api.ujeebu.com/scrape' \
-H "ApiKey: $UJEEBU_API_KEY" \
--data-urlencode 'url=https://github.com/search?q=web+scraper&type=repositories' \
--data-urlencode 'recipe=github/listing'
{
"result": {
"name": "AhmadIbrahiim/Website-downloader",
"description": "💡 Download the complete source code of any we...",
"language": "HTML",
"stars": 6068
},
"success": true
}
What you get from GitHub
The fields of each page type and a real sample from our last validation, shortened.
Search and listing pages recipe=github/listing 5 credits a page
| Field | Type | Example |
|---|---|---|
repositories | list of 3+ items | |
repositories[].description | text | 💡 Download the complete source code of any website (including all a... |
repositories[].language | text | HTML |
repositories[].name | text | AhmadIbrahiim/Website-downloader |
repositories[].stars | number | 6068 |
repositories[].topics | text | scraper, downloader, assets, offline-web-pages |
repositories[].updated | date | 2026-08-12T16:37:38.246Z |
repositories[].url | URL | https://github.com/AhmadIbrahiim/Website-downloader |
Sample answer, validated 2026-11-04
{
"repositories": [
{
"description": "💡 Download the complete source code of any website (including all assets). [ Javascripts, Stylesheets, Images ] using Node.js",
"language": "HTML",
"name": "AhmadIbrahiim/Website-downloader",
"stars": 6068,
"topics": "scraper, downloader, assets, offline-web-pages",
"updated": "2026-08-12T16:37:38.246Z",
"url": "https://github.com/AhmadIbrahiim/Website-downloader"
},
{
"description": "A Smart, Automatic, Fast and Lightweight Web Scraper for Python",
"language": "Python",
"name": "alirezamika/autoscraper",
"stars": 8069,
"topics": "python, crawler, machine-learning, scraper, automation, ai, scraping, artificial-intelligence, web-scraping, scrape, webscraping, webautomation",
"updated": "2026-07-29T17:17:55.209Z",
"url": "https://github.com/alirezamika/autoscraper"
}
]
}
Public pages recipe=github/page 5 credits a page
| Field | Type | Example |
|---|---|---|
title | text | GitHub - torvalds/linux: Linux kernel source tree |
description | text | Linux kernel source tree. Contribute to torvalds/linux development... |
image | URL | https://opengraph.githubassets.com/a51bae0a531614b261b18c8c5f1221a2... |
stars | text | 251.7k |
forks | text | 67.7k |
url | URL | https://github.com/torvalds/linux |
updated | date | 2026-10-12T03:04:55.000Z |
Sample answer, validated 2026-10-29
{
"title": "GitHub - torvalds/linux: Linux kernel source tree",
"description": "Linux kernel source tree. Contribute to torvalds/linux development by creating an account on GitHub.",
"image": "https://opengraph.githubassets.com/a51bae0a531614b261b18c8c5f1221a2bcd1aafc7c8642648a727d6687c2fb45/torvalds/linux",
"stars": "251.7k",
"forks": "67.7k",
"url": "https://github.com/torvalds/linux",
"updated": "2026-10-12T03:04:55.000Z"
}
One call
Send the page URL and the recipe name to the Scrape API. The recipe brings the extract rules and the settings that work on GitHub (JavaScript rendering).
curl -G 'https://api.ujeebu.com/scrape' \
-H "ApiKey: $UJEEBU_API_KEY" \
--data-urlencode 'url=https://github.com/search?q=web+scraper&type=repositories' \
--data-urlencode 'recipe=github/listing'
import os, requests
r = requests.get(
"https://api.ujeebu.com/scrape",
params={"url": "https://github.com/search?q=web+scraper&type=repositories", "recipe": "github/listing"},
headers={"ApiKey": os.environ["UJEEBU_API_KEY"]},
timeout=120,
)
print(r.json()["result"])
const params = new URLSearchParams({
url: "https://github.com/search?q=web+scraper&type=repositories",
recipe: "github/listing",
});
const res = await fetch(`https://api.ujeebu.com/scrape?${params}`, {
headers: { ApiKey: process.env.UJEEBU_API_KEY },
});
console.log((await res.json()).result);
The answer is {"result": {...}} with the headers Ujb-Recipe and Ujb-Credits. Other page types: recipe=github/page, or recipe=github and the API picks the page type from the URL. Your own parameters always win over the recipe.
Search GitHub with parameters
Fill in the parameters and we build the GitHub search URL. The Playground and the Request builder do it for you.
| Parameter | Type | Values |
|---|---|---|
query required | string | Search words or GitHub qualifiers (language:go). |
sort | enum | best_match, stars, forks, updated |
page | int | 1 to 5 |
Works today: the built URL with recipe=github/listing (query=web scraper)
GET https://api.ujeebu.com/scrape?url=https%3A%2F%2Fgithub.com%2Fsearch%3Ftype%3Drepositories%26q%3Dweb%2520scraper&recipe=github%2Flisting
A single call with the parameters and no URL is coming to the API; it is not live yet. Search with parameters in the docs
What people build with GitHub data
Research datasets
Build datasets of public pages for analysis, search or LLM pipelines.
Learn moreTrend tracking
Follow what gets attention over time: scores, comments, stars.
Price
Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.
| Page type | Credits a page | Per 1,000, Starter | Per 1,000, Pro |
|---|---|---|---|
| Search results, Page | 5 | $0.82 | $0.50 |
FAQ
What does the GitHub recipe return?
JSON with 10 fields from search results (recipe=github/listing) and page (recipe=github/page), for example name, description, language, stars, topics. The answer is {"result": {...}} with the fields shown on this page.
How much does it cost to scrape GitHub?
5 credits a page ($0.50 per 1,000 on Pro, $0.82 on Starter). Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.
Do I need proxies or a headless browser?
No. The recipe brings the settings that work on GitHub: JavaScript rendering. Send only the URL and recipe=github/listing.
What happens when GitHub changes its pages?
We check GitHub every day and re-validate the recipe on real pages every week, then fix it when the site changes. Until a fix is live, the API answers 404 "the recipe has no working version" instead of empty data, and that call is free.
Can I search GitHub with parameters?
Yes. Fill in query, sort, page: we build the GitHub search URL, and the call is that URL with recipe=github/listing. A single call with the parameters and no URL is coming to the API; it is not live yet.
Related recipes
WikipediaPage · 5 credits
Hacker NewsSearch results · 5 credits
Hugging FaceSearch results, Page · 5 credits
LinkedInSearch results, Detail page, Profile · 5 credits
AmazonSearch results, Product page · 5 credits
X (Twitter)Profile · 5 credits
Logos and names belong to their owners. Ujeebu is not affiliated with GitHub.
Get GitHub data as JSON today.
5,000 free credits for 7 days. No card.