jsDelivr API
Free jsDelivr data API with no key: npm and GitHub package versions, file listings, dist-tags and CDN usage statistics. CORS enabled. Tested curl example.
Endpoint tested and returned HTTP 200 on 19 Aug 2026
What is the jsDelivr API?
The jsDelivr data API is a free, key-free API exposing package metadata for the jsDelivr CDN — available versions and dist-tags for npm and GitHub packages, file listings, and download statistics.
jsDelivr serves npm and GitHub packages over a CDN, and its data API tells you what is available: every version, the dist-tags, and the complete file tree inside a given release.
The file listing endpoint is the distinctive one. Being able to enumerate the files inside a published package without downloading it is useful for building asset pickers, and for checking whether a package ships the built bundle you expect.
Quick facts
- Base URL
https://data.jsdelivr.com/v1- Authentication
- No API key required.
- Rate limit
- No published hard limit; CDN-backed and built for volume.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the jsDelivr API
Every request below was executed against the live API on 19 Aug 2026, and the response shown is the real body it returned — not an illustration.
1. List versions of an npm package
GET https://data.jsdelivr.com/v1/packages/npm/react
curl 'https://data.jsdelivr.com/v1/packages/npm/react'const res = await fetch("https://data.jsdelivr.com/v1/packages/npm/react");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://data.jsdelivr.com/v1/packages/npm/react", timeout=20)
res.raise_for_status()
print(res.json()){
"type": "npm",
"name": "react",
"tags": {
"beta": "19.0.0-beta-26f2496093-20240514",
"rc": "19.0.0-rc.1",
"next": "19.3.0-canary-d5736f09-20260507",
"latest": "19.2.8",
"backport": "19.0.8",
"experimental": "0.0.0-experimental-eb8feb71-20260814",
"canary": "19.3.0-canary-eb8feb71-20260814"
},
"versions": [
{
"version": "19.3.0-canary-fef12a01-20260413",
"links": {
"self": "https://data.jsdelivr.com/v1/packages/npm/react@19.3.0-canary-fef12a01-20260413",
"entrypoints": "https://data.jsdelivr.com/v1/packages/npm/react@19.3.0-canary-fef12a01-20260413/entrypoints",
"stats": "https://data.jsdelivr.com/v1/stats/packages/npm/react@19.3.0-canary-fef12a01-20260413"
}
},
{
"version": "19.3.0-canary-fd524fe0-20251121",
"links": {
"self": "https://data.jsdelivr.com/v1/packages/npm/react@19.3.0-canary-fd524fe0-20251121",
"entrypoints": "https://data.jsdelivr.com/v1/packages/npm/react@19.3.0-canary-fd524fe0-20251121/entrypoints",
"stats": "https://data.jsdelivr.com/v1/stats/packages/npm/react@19.3.0-canary-fd524fe0-20251121"
}
},
{
"version": "19.3.0-canary-fb2177c1-20251114",
"links": {
"self": "https://data.jsdelivr.com/v1/packages/npm/react@19.3.0-canary-fb2177c1-20251114",
"entrypoints": "https://data.jsdelivr.com/v1/packages/npm/react@19.3.0-canary-fb2177c1-20251114/entrypoints",
"stats": "https://data.jsdelivr.com/v1/stats/packages/npm/react@19.3.0-canary-fb2177c1-20251114"
}
},
{
"verParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
packages/npm/<name> | path | Required | npm package name. react |
packages/gh/<user>/<repo> | path | Optional | GitHub repository instead of npm. jquery/jquery |
packages/npm/<name>@<version> | path | Optional | Append a version to list its files. react@18.2.0 |
structure | string | Optional | `flat` or `tree` for file listings. flat |
Response fields
typestring- `npm` or `gh`.
namestring- Package name.
tagsobject- dist-tags such as latest, next and beta mapped to versions.
versionsarray- Every published version available on the CDN.
filesarray- On version endpoints, the files inside that release with sizes and hashes.
What you can build with the jsDelivr API
- Build a CDN asset picker showing files available in a release
- Check the latest version of a front-end library
- Verify a package ships the bundle file you intend to load
- Compare version adoption using jsDelivr's usage statistics endpoints
Common errors and how to fix them
404
Unknown package, or a scoped npm name not URL-encoded.
Fix: Scoped packages need encoding: @scope/name becomes %40scope%2Fname.
Empty files array
That version was never fetched through the CDN.
Fix: Very new or very obscure versions may not be populated until first requested.
jsDelivr API — frequently asked questions
Is the jsDelivr API free?
Yes, completely free with no API key, and CORS-enabled so it works from browser JavaScript.
Can I list the files inside a package?
Yes — that is one of its more useful features. Request a specific version and the response includes every file with its size and hash, without downloading the package.
Does it cover GitHub as well as npm?
Yes. Use /packages/gh/<user>/<repo> for GitHub-hosted packages and /packages/npm/<name> for npm.
How do I find the latest version?
Read the `tags` object, where `latest` maps to the current stable version — the same dist-tag npm uses.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
JSON Validator
Free online JSON validator: validate JSON and find syntax errors with the exact line and column. See root type, key counts and depth — instant and 100% private.
Alternatives to jsDelivr API
If jsDelivr does not fit, these developer & testing apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| GitHub REST API | GitHub REST API with no key for public data: repository details, users, issues, releases and commits. 60 req/hour unauthenticated, 5,000 with a token. | No key | Yes | 19 Aug 2026 |
| JSONPlaceholder | Free fake REST API for testing and prototyping. Posts, comments, users and todos with full GET, POST, PUT and DELETE support. No key. Real curl examples. | No key | Yes | 19 Aug 2026 |
| Postman Echo | Postman Echo reflects your HTTP request back as JSON: headers, body, query params and auth. Free, no key, ideal for debugging clients. Real POST example. | No key | No | 19 Aug 2026 |
| DummyJSON | Free fake REST API with realistic products, users, carts, recipes and auth. Supports search, pagination, sorting and POST. No key. Tested GET and POST examples. | No key | Yes | 19 Aug 2026 |
| JSON Schema Store | Fetch the catalogue that maps config filenames to JSON Schemas, the same one VS Code and JetBrains IDEs use. No key. Verified example and integration notes. | No key | Yes | 21 Aug 2026 |
| Kroki | Free diagram-as-code API with no key: send Graphviz, Mermaid, PlantUML or 25 other diagram languages as text and get back SVG, PNG or PDF. Tested curl example included. | No key | Yes | 21 Aug 2026 |
jsDelivr is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 19 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.