GitHub Repository Insights
Pricing
from $0.01 / 1,000 results
GitHub Repository Insights
Turn any list of GitHub repos, users/orgs or a search query into clean, structured JSON — stars, forks, watchers, open issues, language, topics, license, homepage and timestamps. Powered by the public GitHub REST API; no login required, add a token to raise the rate limit.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Assia Fadli
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Turn GitHub repositories into clean, structured data. Point this actor at specific repos, at whole users/organizations, or at a GitHub search query, and get back one tidy JSON row per repository — stars, forks, watchers, open issues, language, topics, license, homepage and timestamps.
It runs on the official GitHub REST API. No login and no proxy are needed; an optional personal access token only raises the rate limit.
Why use it
- Three ways in, one shape out. Mix explicit repos, user/org listings and a search query in a single run — every source produces the same flat record.
- Never fails on one bad input. A missing repo (404) or a rate-limit hit (403)
becomes a labelled
errorrow; the run keeps going. - No dependencies to fear. Just the Apify SDK and Node 20's built-in
fetch. - Pay only for what you get. Billed per delivered repository (pay-per-event) — error rows are never charged.
Input
| Field | Type | Default | Description |
|---|---|---|---|
repos | array | — | Repositories to fetch, each as "owner/name" (e.g. "apify/crawlee"). |
searchQuery | string | — | Optional GitHub repository search query. Returns the most-starred matches first. |
users | array | — | Optional list of GitHub usernames/organizations. Fetches each account's repositories. |
maxResults | integer | 30 | Max repositories per source (per user and for the search query). Capped at 100 by the API. |
githubToken | string (secret) | — | Optional personal access token. Raises the rate limit from 60 to 5,000 requests/hour. |
Provide at least one of repos, users or searchQuery. You can combine all three.
Example input
{"repos": ["apify/crawlee", "facebook/react"],"searchQuery": "web scraping language:python stars:>1000","users": ["apify"],"maxResults": 30}
Output
Each dataset record is a flat repository object:
{"fullName": "apify/crawlee","owner": "apify","name": "crawlee","description": "Crawlee—A web scraping and browser automation library…","stars": 18500,"forks": 810,"watchers": 18500,"openIssues": 130,"language": "TypeScript","topics": ["crawler", "scraper", "playwright", "puppeteer"],"license": "Apache-2.0","homepage": "https://crawlee.dev","url": "https://github.com/apify/crawlee","createdAt": "2021-05-31T14:15:11Z","updatedAt": "2024-06-01T00:00:00Z","pushedAt": "2024-06-01T00:00:00Z","size": 45000,"defaultBranch": "master","archived": false,"isFork": false}
| Field | Description |
|---|---|
fullName | Repository full name (owner/name). |
owner | Owner login. |
name | Repository name. |
description | Repository description. |
stars | Stargazer count. |
forks | Fork count. |
watchers | Watcher count. |
openIssues | Open issues + pull requests count. |
language | Primary language. |
topics | Array of repository topics. |
license | SPDX license identifier (e.g. MIT, Apache-2.0). |
homepage | Project homepage URL, if set. |
url | Link to the repository on GitHub. |
createdAt | Creation timestamp (ISO 8601). |
updatedAt | Last metadata update timestamp (ISO 8601). |
pushedAt | Last push timestamp (ISO 8601). |
size | Repository size in kilobytes. |
defaultBranch | Default branch name. |
archived | Whether the repository is archived. |
isFork | Whether the repository is a fork. |
When an input can't be fetched, its row is { "input": "<value>", "error": "<message>" }
instead — the run continues.
Rate limits
The GitHub REST API allows 60 requests/hour unauthenticated. Providing a
githubToken raises this to 5,000 requests/hour; a read-only token with no
scopes is enough. Hitting the limit produces an error row (HTTP 403) rather than
crashing the run.
Data source
This actor uses the official GitHub REST API:
- Base URL:
https://api.github.com - Repo details:
GET /repos/{owner}/{repo} - User repos:
GET /users/{user}/repos?sort=updated - Search:
GET /search/repositories?q=<query>&sort=stars&order=desc
Requests send the required User-Agent and Accept: application/vnd.github+json headers.
Billing
This actor uses the pay-per-event pricing model. You are charged once per
repository successfully delivered to the dataset (event repo-scraped). Error rows
are never charged.
Built by Assia Fadli. Licensed under MIT.