GitHub Octoverse and GitHub REST/GraphQL API
Datadory delivers github octoverse and github rest graphql api data covering both layers of the world's largest development platform: the annual Octoverse state-of-open-source report - more than 180 million developer accounts, TypeScript at number one for the first time - and per-repository records with stars, forks, issue counts, language and lifecycle timestamps.
What is GitHub Octoverse and GitHub REST/GraphQL API?
Two views of one platform, stacked. The first is Octoverse, GitHub's annual state-of-open-source report - the statistic everyone else quotes. Its most recent edition counts more than 180 million developer accounts, roughly one new developer joining every second, 36 million of them added in a single year, and TypeScript sitting at number one among programming languages for the first time, ahead of both Python and JavaScript.
The second view is the repository graph underneath the report: per-project records carrying stars, forks, open-issue volume, primary language and lifecycle timestamps, with topic, release and dependency context reachable alongside. One layer gives you the sentence for the board deck; the other gives you the rows that survive due diligence.
Datadory delivers both as one systems software dataset - report-era aggregates joined to record-level evidence. Get a sample of this dataset and find out which half your question actually needed.
What does a sample row look like?
Claims about GitHub deserve a receipt, so here is one. Queried for operating-system projects, the catalog opens with this record:
full_name : HeyPuter/puter
stargazers_count : 43136
forks_count : 4013
open_issues_count : 18
language : TypeScript
created_at : 2024-03-03T01:44:32Z
pushed_at : 2026-08-21T06:52:01ZRead it like an analyst rather than a fan. Forty-three thousand stars accumulated over roughly nine hundred days is about forty-eight a day, sustained, for a project created in March 2024. Four thousand forks means thousands of parties wanted their own copy of the tree. Eighteen open issues against that traffic says triage is keeping pace. And a pushed_at stamp landing on August 21, 2026 - the day this record was captured - marks a repository people are still working in, not a museum piece.
What fields does the dataset include?
Seven verified fields, one flat record per repository, definitions checked against a live capture during cataloging. Together they cover identity, popularity, classification and lifecycle - enough to score project health without leaving the row.
What does coverage look like across geography, time and granularity?
Geography - global. Octoverse reports developer participation by country each year, so geography arrives as an annual aggregate; repository records themselves are not partitioned by country.
Temporal - three clocks run at once. Annual report editions reach back to 2014, a decade-plus of citable aggregates. Repository records self-describe with creation and last-push timestamps, so cohort windows reconstruct from the rows without an external calendar. And the public event-timeline layer reaches back to February 2011, older than the report series itself.
Granularity - per-repository, per-user and per-event at the record level; per-language, per-topic and per-country at the report level. Most analyses meet in the middle: take a slice of repositories, aggregate it, then benchmark the result against the official figure.
How is the data delivered?
API, files, or your warehouse. Daily, weekly, or hourly.
Who uses this data, and for what?
- Systems-software landscape mapping - count active projects by topic across operating systems, kernels, containers and databases, and watch which categories thicken before analyst reports notice.
- Platform-bet sizing - 180 million-plus accounts and a language-share leader that just changed for the first time quantify where developer attention is moving while it is still cheap to follow.
- Dependency due diligence - the stars-to-open-issues ratio, fork depth and push recency in one row screen a candidate library in seconds instead of a sprint.
- Developer-mindshare tracking - language and topic growth curves give tooling and infrastructure vendors a bottom-up demand signal years ahead of revenue data.
- Citation-grade research - a decade of annual editions plus event history to February 2011 yields reproducible series that survive peer review.
Which personas get the most value?
Data scientists and ML engineers get event-grain history deep enough for time-series work and a flat record shape that trains on without cleanup theater. Competitive-intel and product teams read rivals' ecosystems as fork and issue velocity, which tends to move before launch announcements do. Investors and quants treat language-share shifts - TypeScript taking the top slot is the freshest example - as a leading indicator of where developer labor is reallocating. Market researchers get the statistic everyone quotes, 180 million developers joining one per second, backed by rows they can audit. Developers and builders wire the record shape straight into dependency checkers and ecosystem dashboards.
Which datasets sit next to this one?
Systems Software catalog neighbors that answer adjacent questions. PyPI - Python Package Index API and Stats counts package versions and downloads rather than repositories, and the head-to-head comparison is worth reading before choosing a unit of analysis. GitHut - GitHub Language Statistics renders the language-share picture in aggregate form. npm Public Registry API covers the JavaScript package economy that TypeScript's rise feeds. deps.dev - Open Source Insights API scores transitive dependency health once you have picked candidates.
Field dictionary
Every field below is documented against real records. The full dictionary ships with the sample.
| field | type | definition | example |
|---|---|---|---|
full_name | string | Owner login and repository name joined by a slash; the stable human-readable key. | HeyPuter/puter |
stargazers_count | integer | Number of users who starred the repository - attention, not usage. | 43136 |
forks_count | integer | Number of forks - distinct parties that took their own copy of the tree. | 4013 |
open_issues_count | integer | Count of currently open issues and pull requests; workload and triage-responsiveness signal. | 18 |
language | string | Primary programming language detected by the platform's Linguist classifier. | TypeScript |
created_at | datetime | ISO 8601 timestamp when the repository was created. | 2024-03-03T01:44:32Z |
pushed_at | datetime | ISO 8601 timestamp of the most recent push to any branch. | 2026-08-21T06:52:01Z |
Questions buyers ask
How many developers does the data cover?
The most recent Octoverse edition counts more than 180 million developer accounts on GitHub, with roughly one new developer joining every second and 36 million added in a single year. Those figures anchor the annual series; record-level activity behind them is delivered as auditable rows rather than headline numbers.
What did the latest Octoverse edition find?
TypeScript became the number one language on GitHub for the first time, overtaking both Python and JavaScript - the first change at the top in the report's history. For anyone sizing tooling markets or developer talent pools, a first-ever leadership change is the kind of inflection worth building a series around.
How far back does the history reach?
Three depths. Annual Octoverse editions run from 2014 to the present, giving a decade-plus of citable aggregates. Repository records carry creation and last-push timestamps on every row. And the public event-timeline layer reaches back to February 2011, predating the report series by three years.
Can I follow one project's trajectory over time?
Yes - every record carries created_at and pushed_at, so birth, momentum and quiet all read directly off the row. Cohort projects by creation month, filter by last-push recency, or chart star and fork accumulation against age without stitching together external archives.
How current is the data when it lands?
You choose the cadence: delivered daily, weekly, or hourly against your pipeline's tolerance for staleness. Because every record ships with its own pushed timestamp, downstream recency filters remain yours - the delivery contract sets freshness of arrival, the rows set freshness of fact.
How is this different from package-registry datasets?
Registries such as npm, PyPI and crates.io count package versions and downloads - units of consumption. This dataset counts repositories, events and the developers behind them - units of production. Ecosystem studies that need both sides join the two rather than choose, which is why we catalog them side by side.
See the rows before you pay anything.
Name this dataset and we send real records from it — scoped to the fields you asked for.