GitHub Context Extractor (LLM-Ready Markdown) avatar

GitHub Context Extractor (LLM-Ready Markdown)

Pricing

from $2.99 / 1,000 repository contexts

Go to Apify Store
GitHub Context Extractor (LLM-Ready Markdown)

GitHub Context Extractor (LLM-Ready Markdown)

Extract public repository metadata, full bounded README Markdown, contributors, and releases for LLM and RAG pipelines.

Pricing

from $2.99 / 1,000 repository contexts

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

GitHub Context Extractor

Build bounded, LLM-ready context records from public GitHub repositories. For each requested owner/repository, the Actor reads public repository metadata, the README as Markdown, contributors, and recent releases. It uses documented public GitHub REST endpoints, keeps source URLs in the row, and writes run-level request and failure counts to OUTPUT_SUMMARY.

Public data and limits

Only public repository responses are requested. An optional caller-supplied GitHub token may be used to raise the public API rate limit, but the Actor does not request private scopes, access private repositories, perform writes, log the token, bypass CAPTCHA, or use undocumented endpoints. Repository, README, contributors, and releases are all bounded by input limits. README Markdown is capped at 500,000 characters; contributor and release arrays are independently bounded. Request delay, timeout, and response-size controls prevent an accidental unbounded run.

The public GitHub repository page also exposes the same kind of business information used here: public visibility, repository description, folders and files, README, stars, watchers, forks, topics, and links to issues, releases, and contributors. The Actor's API response is normalized into stable fields rather than copying internal UI markup.

Input

{
"repositories": ["apify/apify-js", "https://github.com/octocat/Hello-World"],
"maxRepositories": 2,
"includeReadme": true,
"includeContributors": true,
"maxContributors": 5,
"includeReleases": true,
"maxReleases": 5,
"requestDelayMs": 250
}

repositories accepts public GitHub URLs or owner/repository values. Invalid entries are ignored during normalization; a run with no usable repositories completes as SUCCEEDED with dataStatus: NO_RESULTS, without adding a diagnostic dataset row. maxRepositories is 1–20. Set any include... flag to false when only repository metadata is needed. maxContributors and maxReleases are each 1–20. requestDelayMs is 0–5000 ms, timeoutMs is 5–120 seconds, and maxResponseBytes is 100,000–50,000,000. Unknown input keys are rejected.

Dataset output

Successful rows contain a repository object with public identity, description, links, default branch, language, topics, license, counts, archive/fork flags, and timestamps. readmeMarkdown contains bounded Markdown and readme contains filename, path, public HTML/download links, size, character and word counts, and truncation state. contributors contains public login/profile/avatar links and contribution counts. releases contains public tag/name, notes, prerelease/draft status, timestamps, and release links. sourceUrls records the public endpoint URLs used and retrievedAt records collection time.

Operational fields such as retry/request counters, rate-limit evidence, warnings, and internal record labels are deliberately kept out of rows. They are summarized as counts in OUTPUT_SUMMARY together with requested/succeeded repository counts and canonical run/data statuses. A repository request failure does not create a diagnostic or placeholder dataset row. Saved repository records remain a successful partial run if a later request fails.

Dataset example

{
"repository": {
"fullName": "octocat/Hello-World",
"htmlUrl": "https://github.com/octocat/Hello-World",
"defaultBranch": "master",
"stars": 2100,
"topics": ["example"]
},
"readmeMarkdown": "# Hello World\n",
"contributors": [{ "login": "octocat", "profileUrl": "https://github.com/octocat" }],
"releases": [],
"sourceUrls": { "repository": "https://api.github.com/repos/octocat/Hello-World" },
"retrievedAt": "2026-08-24T00:00:00.000Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Local run

npm ci
npm run check
npm test
apify validate-schema
apify run --purge --input-file input.json
npm run validate

The Actor reports GitHub rate limits and unavailable optional enrichments in the run summary. It does not fabricate missing README, contributor, or release data.