# Open VSX API
> The open VS Code extension registry — Open VSX — as an API. Open VSX is the vendor-neutral marketplace behind VSCodium, Gitpod, Eclipse Theia, Cursor and many other editors. Look up any extension by its namespace.name id for its display name and description, latest version, publisher, total download count, average rating, license, categories and tags, repository and homepage links, and the exact `code --install-extension` command; read an extension's full version history; and search the registry by keyword, ranked by downloads. Covers the editor-extension ecosystem from Python, Java and ESLint to Prettier, GitLens and the major themes and language packs. Live from the official open-vsx.org API. Ideal for editor and IDE tooling, extension catalogs and dashboards, and developer-portal integrations. Open data from Open VSX.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/openvsx-api/..."
```

## Pricing
- **Free** (Free) — 3,590 calls/Mo, 2 req/s
- **Starter** ($4/Mo) — 47,700 calls/Mo, 8 req/s
- **Pro** ($13/Mo) — 235,000 calls/Mo, 20 req/s
- **Mega** ($34/Mo) — 1,188,000 calls/Mo, 50 req/s

## Endpoints

### Open VSX

#### `GET /v1/extension` — Extension metadata

**Parameters:**
- `id` (query, required, string) — Extension id (namespace.name), e.g. redhat.java Example: `redhat.java`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/openvsx-api/v1/extension?id=redhat.java"
```

**Response:**
```json
{
    "data": {
        "extension": {
            "id": "redhat.java",
            "icon": "https://open-vsx.org/api/redhat/java/1.55.2026053008/file/icon128.png",
            "name": "java",
            "tags": [
                "gradle-kotlin-dsl",
                "GradleKotlinDSL",
                "java",
                "java-properties",
                "JavaProperties",
                "json",
                "keybindings",
                "linters",
                "multi-root ready"
            ],
            "install": "code --install-extension redhat.java",
            "license": "EPL-2.0",
            "preview": false,
            "version": "1.55.2026053008",
            "homepage": "https://github.com/redhat-developer/vscode-java#readme",
            "verified": "restricted",
            "namespace": "redhat",
            "timestamp": "2026-05-30T08:59:31.125486Z",
            "categories": [
                "Programming Languages",
                "Linters",
                "Formatters",
                "Snippets"
            ],
            "repository": "https://github.com/redhat-developer/vscode-java.git",
            "description": "Java Linting, Intellisense, formatting, refactoring, Maven/Gradle support and more...",
            "display_name": "Language Support for Java(TM) by Red Hat",
            "open_vsx_url": "https://open-vsx.org/extension/redhat/java",
            "published_by": "rhdevelopers-ci",
            "review_count": 16,
            "avera
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search` — Search the registry

**Parameters:**
- `q` (query, required, string) — Search term Example: `python`
- `limit` (query, optional, string) — Results (1-100, default 20)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/openvsx-api/v1/search?q=python"
```

**Response:**
```json
{
    "data": {
        "count": 20,
        "query": "python",
        "total": 630,
        "results": [
            {
                "id": "meta.pyrefly",
                "name": "pyrefly",
                "install": "code --install-extension meta.pyrefly",
                "version": "1.0.0",
                "namespace": "meta",
                "description": "Python autocomplete, typechecking, code navigation and more! Powered by Pyrefly, an open-source language server",
                "display_name": "Pyrefly - Python Language Tooling",
                "open_vsx_url": "https://open-vsx.org/extension/meta/pyrefly",
                "average_rating": 4.428571428571429,
                "download_count": 64406180
            },
            {
                "id": "ms-python.python",
                "name": "python",
                "install": "code --install-extension ms-python.python",
                "version": "2026.4.0",
                "namespace": "ms-python",
                "description": "Python language support with extension access points for IntelliSense (Pylance), Debugging (Python Debugger), linting, formatting, refactoring, unit tests, and more.",
                "display_name": "Python",
                "open_vsx_url": "https://open-vsx.org/extension/ms-python/python",
                "average_rating": 3.8,
                "download_count": 47751386
            },
            {
                "id": "ms-python.debugpy",
                "name": "debugpy",
   
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/versions` — Version history

**Parameters:**
- `id` (query, required, string) — Extension id, e.g. ms-python.python Example: `ms-python.python`
- `limit` (query, optional, string) — Max versions (1-500, default 50)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/openvsx-api/v1/versions?id=ms-python.python"
```

**Response:**
```json
{
    "data": {
        "id": "ms-python.python",
        "count": 50,
        "total": 83,
        "latest": "2026.4.0",
        "versions": [
            "2026.4.0",
            "2026.2.0",
            "2026.0.0",
            "2025.20.1",
            "2025.16.0",
            "2025.14.0",
            "2025.12.0",
            "2025.4.0",
            "2025.2.0",
            "2025.0.0",
            "2024.23.0-dev",
            "2024.22.1",
            "2024.22.0",
            "2024.20.0",
            "2024.18.1",
            "2024.18.0",
            "2024.16.1",
            "2024.16.0",
            "2024.14.1",
            "2024.12.3",
            "2024.12.2",
            "2024.12.1",
            "2024.10.0",
            "2024.8.1",
            "2024.4.1",
            "2024.2.1",
            "2024.2.0",
            "2024.0.1",
            "2024.0.0",
            "2023.22.1",
            "2023.20.0",
            "2023.18.0",
            "2023.16.0",
            "2023.14.0",
            "2023.12.0",
            "2023.10.1",
            "2023.10.0",
            "2023.8.0",
            "2023.6.1",
            "2023.6.0",
            "2023.4.1",
            "2023.4.0",
            "2023.2.0",
            "2022.20.2",
            "2022.20.1",
            "2022.20.0",
            "2022.18.2",
            "2022.16.1",
            "2022.16.0",
            "2022.14.0"
        ]
    },
    "meta": {
        "timestamp": "2026-05-31T14:32:05.090Z",
        "request_id": "727a051f-3406-43ec
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Source & options

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/openvsx-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "Live Open VSX registry data. /v1/extension = metadata (version, publisher, download count, rating, license, categories, repository) + the install command; /v1/versions = version history; /v1/search = search the registry (sorted by downloads). Extensions are addressed as namespace.name, e.g. redhat.java, ms-python.python.",
        "source": "Open VSX — the open VS Code extension registry (open-vsx.org)",
        "endpoints": [
            "/v1/extension",
            "/v1/versions",
            "/v1/search",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-05-31T14:32:05.168Z",
        "request_id": "4ff3c8e1-41b9-42f4-af28-9360dc1dde75"
    },
    "status": "ok",
    "message": "Meta retrieved",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/openvsx-api
OpenAPI spec: https://www.oanor.com/api/openvsx-api/openapi.json
