For developers & researchers

Open Data API

The live datasets behind this site, as plain JSON over HTTPS. No key, no signup, no rate card — just fetch. If you build something with it, a link back to the source is appreciated.

Endpoints

GET /models-data.jsonrefreshed hourly

Open-weight models available via API, with context and per-token pricing (from the OpenRouter index).

FieldMeaning
models[].nameModel display name
models[].providerPublisher (meta-llama, deepseek, qwen…)
models[].ctxContext window, in tokens
models[].in / outUSD per million tokens, input / output (0 = free)
models[].createdUnix timestamp of listing
GET /paid-models-data.jsonrefreshed hourly

Commercial models (Claude, GPT, Gemini…) — same shape as above.

GET /projects-data.jsonrefreshed daily · ~1 MB

The 1,500+ tracked open-source AI projects: name, owner, description, GitHub stars, tags, license, repo URL.

GET /projects-velocity.jsonrefreshed daily

Star velocity per tracked project, keyed by GitHub URL.

FieldMeaning
{url}.d1Stars gained over the last 24 hours
{url}.d7Stars gained over the last 7 days
GET /today-data.jsonrefreshed hourly

What's new right now: today's trending new GitHub projects, newest models, fresh Hugging Face Spaces and the paper of the day, plus weekly counters.

GET /feed.php · /feed.php?type=blogRSS 2.0

The same novelties (and our articles & weekly reports) as RSS feeds, for readers, bots and automations.

Intelligence API · v1 · key required · free tier

One call replaces a morning of tab-hopping: every project fused with health score, momentum, releases, adoption pulse and industry vertical, plus the daily Emerging index — the projects our engine spots before they trend. Get a free key in your account (Developer API section) and send it as the X-Api-Key header. Plans: free 500 req/day · dev 5k · pro 50k · business 500k — see full pricing.

GET /api/v1/…key required
EndpointWhat you get
/api/v1/metaSources, counts, generation time, your plan & usage
/api/v1/projectsAll tracked projects — filters: ?lang= &license= &vertical= &health_min= &sort= &limit=
/api/v1/project/{slug}One project, fully fused (health, velocity, releases, tool metrics)
/api/v1/emergingThe 100 emerging projects, with first-detection date — realtime on Pro, previous-day on Free/Dev
/api/v1/history/{slug}Pro — 90-day series: stars, health score, weekly momentum. "Is this project declining?"
/api/v1/modelsOpen & commercial models with pricing
/api/v1/hfHugging Face: top LLMs by 30-day downloads + today's trending
/api/v1/alternatives/{slug}Open-source alternatives to a commercial tool
/api/v1/search?q=Full-text search across the graph
curl -s -H "X-Api-Key: osk_YOUR_KEY" \ "https://opensourceai.tech/api/v1/projects?vertical=finance&health_min=80&limit=5"

Data sources, attribution & fair use

What you are buying is our intelligence, not somebody else's data. Every scored field in this API — health score, momentum, velocity, emerging detection & first-seen dates, 90-day history, stack compatibility, industry verticals, curation picks — is computed by OpenSourceAI from public signals. These derived metrics are our proprietary work and the core of the product.

Contextual facts (star counts, licenses, release dates, download counts, per-token prices) are publicly observable facts, gathered from GitHub, Hugging Face, OpenRouter, Artificial Analysis, PyPI, NPM and Docker Hub, and are included as context around our scores. We are not affiliated with these platforms.

Fair use of this API: build products, dashboards, research and alerts on top of it. Don't use it to reconstruct or resell a bulk mirror of any upstream platform, and keep the "Data: OpenSourceAI" attribution when you publish our scores. That keeps everyone — you included — on solid ground.

Webhooks · push, don't poll

Get a signed POST to your endpoint when something happens to the projects you care about. Events: health (score label changed), release (new version shipped), license (license changed — the alert that saves audits), new_project (notable entrant in the directory). Delivered daily after the morning scan. Webhooks are a paid-plan feature: dev 3 · pro 10 · business 50 — see plans.

POST /api/webhooks.phpcreate
curl -X POST https://opensourceai.tech/api/webhooks.php \ -H "X-Api-Key: osk_YOUR_KEY" -H "Content-Type: application/json" \ -d '{"url":"https://your-app.com/hook", "events":["release","health","license"], "repos":["ollama/ollama","vllm-project/vllm"]}' # or ["*"] for everything

The response contains your webhook secret — shown only once. Then GET lists your webhooks, DELETE ?id=whk_… removes one, and POST {"ping":"whk_…"} sends a test delivery right now.

Verifying a deliveryHMAC-SHA256

Each POST carries X-OSAI-Event, X-OSAI-Delivery and X-OSAI-Signature. Recompute the HMAC of the raw body with your secret and compare:

// Node.js const crypto = require('crypto'); const expected = 'sha256=' + crypto.createHmac('sha256', SECRET).update(rawBody).digest('hex'); const valid = crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(req.headers['x-osai-signature'])); # PHP $valid = hash_equals('sha256=' . hash_hmac('sha256', $rawBody, $SECRET), $_SERVER['HTTP_X_OSAI_SIGNATURE'] ?? '');

Endpoints must be public https and answer 2xx. After 10 consecutive failures a webhook is disabled — recreate it to resume.

Quick start

curl -s https://opensourceai.tech/models-data.json | jq '.models[0]' fetch('https://opensourceai.tech/projects-velocity.json') .then(r => r.json()) .then(v => console.log(Object.entries(v).sort((a,b) => b[1].d1 - a[1].d1)[0]));

Terms, plainly

Free for any use, commercial included. Data comes from public sources (GitHub API, OpenRouter, Hugging Face) and is collected automatically — see the methodology. Attribution with a link to opensourceai.tech is appreciated but not required. Please cache responses on your side (files change at most hourly) and be gentle: this is an independent, founder-run project.

Building something with this data? Tell us about it — we love seeing what people make, and we occasionally feature integrations.