Open VSX Registry API
Search and read VS Code extension metadata from the vendor-neutral Open VSX registry as JSON. No key, generous rate limit, real download counts and ratings.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Open VSX Registry API?
Open VSX is an open registry of VS Code extensions with a public JSON API. `GET https://open-vsx.org/api/-/search?query=python&size=2` returns matching extensions with download counts, ratings and file URLs, and `/api/{namespace}/{name}` returns one extension's metadata. No API key is required.
Microsoft's own marketplace requires a POST to an undocumented endpoint and its terms restrict use to Microsoft products, which leaves a real gap for anyone building on VS Code forks such as VSCodium, Gitpod or Eclipse Theia. Open VSX, run by the Eclipse Foundation, fills it with a documented REST API that answers plain GET requests and publishes its rate limit in response headers, which we observed as 10,800 requests.
The `files` object on each result is the most immediately useful part: it hands you direct URLs for the `.vsix` download, the icon, the SHA-256 digest and the signature file. That means a self-hosted extension mirror or an offline installer needs no scraping at all. Watch the `namespace` and `name` split, since the marketplace's familiar `publisher.extension` identifier is two separate fields here.
Quick facts
- Base URL
https://open-vsx.org/api- Authentication
- Reads are anonymous. An access token is only needed to publish extensions, which is not covered here.
- Rate limit
- Reported live in `X-RateLimit-Limit` and `X-RateLimit-Remaining`; the observed limit was 10,800 requests, which is ample for ordinary use.
- Pricing
- Free and open source, run by the Eclipse Foundation.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Open VSX Registry API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Search for extensions by keyword
GET https://open-vsx.org/api/-/search?query=python&size=2
curl 'https://open-vsx.org/api/-/search?query=python&size=2'const res = await fetch("https://open-vsx.org/api/-/search?query=python&size=2");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://open-vsx.org/api/-/search?query=python&size=2", timeout=20)
res.raise_for_status()
print(res.json()){
"extensions": [
{
"averageRating": 4.428571428571429,
"deprecated": false,
"description": "Python autocomplete, typechecking, code navigation and more! Powered by Pyrefly, an open-source language server",
"displayName": "Pyrefly - Python Language Tooling",
"downloadCount": 79271971,
"files": {
"download": "https://open-vsx.org/api/meta/pyrefly/alpine-arm64/1.2.9002/file/meta.pyrefly-1.2.9002@alpine-arm64.vsix",
"signature": "https://open-vsx.org/api/meta/pyrefly/alpine-arm64/1.2.9002/file/meta.pyrefly-1.2.9002@alpine-arm64.sigzip",
"icon": "https://open-vsx.org/api/meta/pyrefly/alpine-arm64/1.2.9002/file/pyrefly-symbol.png",
"sha256": "https://open-vsx.org/api/meta/pyrefly/alpine-arm64/1.2.9002/file/meta.pyrefly-1.2.9002@alpine-arm64.sha256",
"publicKey": "https://open-vsx.org/api/-/public-key/14ccb407-4e79-41ed-be5a-6d608325c45a"
},
"name": "pyrefly",
"namespace": "meta",
"reviewCount": 7,
"timestamp": "2026-08-18T21:58:53.549203Z",
"url": "https://open-vsx.org/api/meta/pyrefly",
"verified": true,
"version": "1.2.9002"
},
{
"averageRating": 3.875,
"deprecated": false,
"description": "Python language support with extension access points for IntelliSense (Pylance), Debugging (Python Debugger), linting, formatting, refactoring, unit tests, and more.",
"displayName": "Python",
"downloadCount": 56011607,
"files": {
"download": "https://open-vsx.org/api/ms-python/python/2026.4.0/file/ms-python.pythParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Optional | Free-text search across name, description and publisher. python |
size | integer | Optional | Results per page, default 18. 2 |
offset | integer | Optional | Zero-based offset for paging through `totalSize`. 20 |
category | string | Optional | Filter by marketplace category such as `Programming Languages` or `Themes`. Themes |
sortBy / sortOrder | string | Optional | Sort field (`relevance`, `downloadCount`, `rating`, `timestamp`) and direction. downloadCount |
Response fields
extensionsarray- Matching extensions. The response also carries `offset` and `totalSize` for paging.
namespace / namestring- The two halves of the familiar `publisher.extension` identifier, returned separately. Join them with a dot to match a marketplace id.
versionstring- Latest published version for the platform matched by the search.
downloadCountinteger- Total downloads from Open VSX only. It will be far lower than the Microsoft marketplace figure for the same extension, because they are different registries.
averageRating / reviewCountfloat / integer- Rating out of five and the number of reviews. `averageRating` is an unrounded float, so format it before display.
filesobject- Direct URLs for `download` (the .vsix), `icon`, `sha256` and `signature`. Everything you need for an offline mirror.
verifiedboolean- Whether the publishing namespace has been verified by the registry, which is the closest thing to a trust signal here.
timestampstring- ISO 8601 publication time of the version returned.
What you can build with the Open VSX Registry API
- Power an extension browser in a VS Code fork or a web IDE
- Mirror extensions internally for air-gapped or regulated environments
- Check whether an extension your team depends on is published outside Microsoft's marketplace
- Track download trends for an extension you maintain
- Verify the SHA-256 of a `.vsix` before installing it in an automated image build
Common errors and how to fix them
404 on /api/{namespace}/{name}
The extension is not published to Open VSX, which is common for Microsoft-authored extensions.
Fix: Search first. Many popular extensions exist only on the Microsoft marketplace and legally cannot be republished here.
Empty search results
The query matched nothing, or a category filter is too narrow.
Fix: Drop filters one at a time; `query` alone is a broad full-text match.
429
The published rate limit was exceeded.
Fix: Check `X-RateLimit-Remaining` and back off. The default allowance is high, so a 429 usually means a runaway loop.
Open VSX Registry API — frequently asked questions
Is Open VSX the same as the VS Code Marketplace?
No. It is a separate, vendor-neutral registry run by the Eclipse Foundation for VS Code forks. Extension availability and download counts differ, and some Microsoft extensions are absent by licence.
Do I need a token to search Open VSX?
No. All read endpoints are anonymous. Tokens are only required for publishing.
How do I download an extension file?
Use the `download` URL inside the `files` object of a search result, which points directly at the `.vsix`. The `sha256` URL alongside it lets you verify the file.
Why is the download count lower than the Microsoft marketplace?
They are independent registries with independent counters. Open VSX counts only downloads served by Open VSX.
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 Viewer
View JSON as a collapsible interactive tree online. Expand and collapse nodes, search keys and values, and copy the JSONPath of any node privately.
Hash Comparer
Compare two hashes or strings side by side to check they match. Get a normalized equality verdict plus per-character diff highlighting, all offline in your browser.
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
Open VSX Registry is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.