Public API · v1 preview

Build with the current, not another scrape.

Read momentum rankings, repository history, languages, topics, and report dates as cacheable JSON. Every response exposes its refresh policy, source timestamp, and sampling caveat.

Authentication

No key in preview

Refresh

6-hour cache cycle

Response cap

50 repositories

Source

Timestamped sample

Quickstart

First response in one request.

Start with a filtered 30-day ranking, then follow a repository link for the full signal and daily history. CORS is enabled for read-only browser clients.

  • JSON responses with stable v1 paths
  • Explicit 400 and 404 error envelopes
  • Public edge caching and stale revalidation
  • OpenAPI 3.1 machine-readable contract

cURL

curl --request GET \
  --url 'https://repocurrent.vercel.app/api/v1/trending?period=30d&language=typescript&limit=10' \
  --header 'Accept: application/json'

TypeScript

const response = await fetch(
  "https://repocurrent.vercel.app/api/v1/repositories/openai/codex?period=7d",
  { headers: { Accept: "application/json" } },
);

if (!response.ok) throw new Error(`RepoCurrent: ${response.status}`);
const { data, meta } = await response.json();
console.log(data.signal.momentumScore, meta.generatedAt);

Endpoints

Small surface, useful composition.

GET/api/v1/repositories/{owner}/{name}

Repository signal

Read repository context, the explainable score components, source freshness, and up to 30 daily history points.

owner · name · period

Live example

/api/v1/repositories/openai/codex?period=7d
Open JSON
GET/api/v1/catalog

Discovery catalog

List available language filters, living topics, report dates, repository counts, source timestamps, and corresponding Web/API/RSS links.

No parameters

Live example

/api/v1/catalog
Open JSON

Cache first

Honor cache headers and reuse a response for its two-hour freshness window.

Bounded reads

Request only the period, filter, and result count your interface needs.

Keep the caveat

If you republish a score, preserve its source time and directional-sample context.

Transparent by default.

The API deliberately exposes the same source freshness and sampling limits as the human-readable product. A response is evidence to inspect, not a verdict to outsource.

Do I need an API key?

No key is required during the public preview. Responses are read-only and cacheable; clients should reuse cached responses and avoid unnecessary polling.

How often does the data update?

Tracked GitHub samples refresh on a two-hour cycle. Every repository response includes a source timestamp and data mode.

Does an API request count as a website visitor?

No. API requests appear in infrastructure request logs but create no browser analytics session. Documentation visits and snippet-copy intent are measured separately.

Can I treat the score as a quality rating?

No. Momentum is a directional activity signal built from capped samples. Evaluate security, licensing, maintenance fit, and production readiness independently.