# VS Code Marketplace API

> VS Code Marketplace returns extension details, popularity, ratings, and update dates as a workflow and API.

VS Code Marketplace returns a matching extension’s publisher, name, categories, popularity, ratings, version, and update date. Get extension takes an extension name or marketplace link; name searches select the most-installed close match.

- Page: https://fous.com/workflows/vs-code-marketplace
- Handle: `@vs-code-marketplace`
- Category: [Developer tools](https://fous.com/workflows/category/developer-tools)
- Source website: https://marketplace.visualstudio.com
- Last verified: Sep 29, 2026
- Fous is not affiliated with VS Code Marketplace.

## Methods

### Get extension

Operation `get_extension`, version 1. 1 credit per call.

Find a VS Code Marketplace extension by name or marketplace link and return its publisher, popularity, rating, version, categories, and update date. For a name search, selects the most-installed close match.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `extension` | string | yes | `"https://marketplace.visualstudio.com/items?itemName=ms-python.python"` | Extension name or marketplace link, for example Prettier or https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "extension"
  ],
  "properties": {
    "extension": {
      "type": "string",
      "description": "Extension name or marketplace link, for example Prettier or https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode.",
      "examples": [
        "https://marketplace.visualstudio.com/items?itemName=ms-python.python",
        "Prettier",
        "Python"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "extension": "https://marketplace.visualstudio.com/items?itemName=ms-python.python"
    },
    {
      "extension": "Prettier"
    },
    {
      "extension": "Python"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `installs` | integer or null | `238742397` | Number of installs. |
| `publisher` | string | `"Microsoft"` | Publisher display name. |
| `categories` | array |  | Marketplace categories. |
| `display_name` | string | `"Python"` | Name of the extension. |
| `rating_count` | integer or null | `630` | Number of ratings. |
| `average_rating` | number or null | `4.204761981964111` | Average rating out of 5. |
| `latest_version` | string or null | `"2026.7.2026092501"` | Latest listed version. |
| `marketplace_link` | string | `"https://marketplace.visualstudio.com/items?itemName=ms-python.python"` | Extension listing link. |
| `last_updated_date` | string or null | `"2026-09-25"` | Last updated date (YYYY-MM-DD). |
| `short_description` | string or null | `"Python language support with extension access points for IntelliSense (Pylance), Debugging (Python Debugger), linting, ` | Short description from the listing. |
| `verified_publisher` | boolean | `true` | Whether the publisher has a verified domain. |
| `extension_identifier` | string | `"ms-python.python"` | Publisher and extension name (publisher.name). |

**Example input**

```json
{
  "extension": "https://marketplace.visualstudio.com/items?itemName=ms-python.python"
}
```

**Example output**

```json
{
  "installs": 238742397,
  "publisher": "Microsoft",
  "categories": [
    "Programming Languages",
    "Debuggers",
    "Data Science"
  ],
  "display_name": "Python",
  "rating_count": 630,
  "average_rating": 4.204761981964111,
  "latest_version": "2026.7.2026092501",
  "marketplace_link": "https://marketplace.visualstudio.com/items?itemName=ms-python.python",
  "last_updated_date": "2026-09-25",
  "short_description": "Python language support with extension access points for IntelliSense (Pylance), Debugging (Python Debugger), linting, formatting, refactoring, unit tests, and more.",
  "verified_publisher": true,
  "extension_identifier": "ms-python.python"
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@vs-code-marketplace",
  "visibility": "public",
  "operation": "get_extension",
  "version": 1,
  "input": {
    "extension": "https://marketplace.visualstudio.com/items?itemName=ms-python.python"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@vs-code-marketplace\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_extension\",\n  \"version\": 1,\n  \"input\": {\n    \"extension\": \"https://marketplace.visualstudio.com/items?itemName=ms-python.python\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@vs-code-marketplace",
  "visibility": "public",
  "operation": "get_extension",
  "version": 1,
  "input": {
    "extension": "https://marketplace.visualstudio.com/items?itemName=ms-python.python"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@vs-code-marketplace","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Compare extension installs and ratings
- Find an extension’s latest listed version
- Review extension categories and publisher details
- Check when an extension was last updated
- Identify extensions with verified publishers

## FAQ

### Is Fous affiliated with VS Code Marketplace?

No. Fous is not affiliated with VS Code Marketplace. This workflow reads the public marketplace.visualstudio.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a VS Code Marketplace account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from marketplace.visualstudio.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 29, 2026.

### How many installs does an extension have?

Get extension returns the extension’s install count.

### What is an extension’s average rating?

Get extension returns its average rating out of 5 and rating count.

### When was an extension last updated?

Get extension returns the last updated date.

## Related

- [Chrome Web Store API](https://fous.com/workflows/chrome-web-store.md): Chrome Web Store finds extensions by keywords or name and returns public listing details, with some listings omitting developer, user, or rating information.
- [Microsoft Store API](https://fous.com/workflows/microsoft-store.md): Microsoft Store returns app and game listings, country-specific searches, and ranked charts; update notes, purchase prices, and exact rating counts may be unavailable.
- [npm API](https://fous.com/workflows/npm.md): npm provides package details, search results and latest versions, plus weekly download and publish data; daily and historical download counts may lag by a day or more.
- [NuGet API](https://fous.com/workflows/nuget.md): The .NET package gallery for discovering and sharing packages.
- [WordPress.org API](https://fous.com/workflows/wordpress-org.md): WordPress.org’s public plugin directory returns up to 100 ranked search matches with ratings, installations, compatibility and links, plus best-match details and the latest-version changelog when available.
- [Xbox API](https://fous.com/workflows/xbox.md): Xbox provides game details, country-specific prices and Game Pass availability, catalog-ordered listings, and current country sales; prices may be unavailable and some dates unpublished.
- [Google Play API](https://fous.com/workflows/google-play.md): Google Play helps people discover Android apps and games, view public listings and search results, read reviews when available by app and region, and see country-specific top charts.
- [GitHub API](https://fous.com/workflows/github.md): GitHub returns public repository matches and details, up to 25 trending projects, issues, pull requests, and newest-first published releases; release or commit dates may be unavailable.
- [All Developer tools workflows](https://fous.com/workflows/category/developer-tools)
