VS Code Marketplace Scraper · Extensions, Installs & Publishers
Pricing
from $0.85 / 1,000 vs code extension record scrapeds
VS Code Marketplace Scraper · Extensions, Installs & Publishers
Scrape Visual Studio Code Marketplace extensions, install counts, publishers, ratings, categories, tags, and versions via official gallery API. Returns addressable extension dataset records.
Pricing
from $0.85 / 1,000 vs code extension record scrapeds
Rating
0.0
(0)
Developer
Tarek Etman
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

VS Code Marketplace Scraper · Extensions, Installs & Publishers
Scrape Visual Studio Code Marketplace extensions, install counts, ratings, reviews, publishers, categories, tags, and version release dates via the official VS Code gallery API. Extract structured extension datasets without authentication, headless browser overhead, or rate limits.
Maintained by reapX. Every row cites the Apify run that produced it — nothing is inferred, modelled or filled in, and a field absent from the source is absent from the row. The extracted archive for this source is browsable at reapx.dev/data/vscode-marketplace-scraper/ and mirrored as an open dataset on Hugging Face and Kaggle. Questions: reapxdev@proton.me
Features & Capabilities
- Complete VS Code Extension Datasets: Scrape extension metadata, display titles, publisher organization profiles, verified status, short descriptions, categories, and manifest tags.
- Real-Time Extension Metrics: Extract total installation counts, download counts, average star ratings (1.0 to 5.0), total rating counts, weighted rating scores, daily trending growth, weekly trending velocity, and monthly trending velocity.
- Publisher Analysis: Filter extensions by specific publisher handles (e.g.
ms-python,ms-vscode,github,redhat,esbenp,eamodio,hashicorp,golang,salesforce,vscjava) or inspect verified domain ownership. - Category & Tag Filters: Narrow search results by official VS Code categories (
Programming Languages,Themes,Linters,Debuggers,Formatters,Snippets,Testing,Extension Packs,Data Science,Machine Learning,Keymaps,SCM Providers,Notebooks,Visualization) or target specific tags (e.g.python,react,docker,rust,copilot,ai,tailwind). - Flexible Ordering: Sort marketplace items by total installs (
Installs), search relevance (Relevance), last updated timestamp (LastUpdated), original release date (ReleaseDate), user star ratings (AverageRating), or trending velocity. - Addressable Data Records: Emits standard clean JSON records with stable
slugidentifiers (publisherName.extensionName) that directly map to entity pages on reapx.dev. - Fast & Cost-Effective: Uses lightweight HTTP REST requests directly to the official VS Code gallery API (
extensionquery). Runs in seconds with low memory consumption (512 MB).
How it works
The VS Code Marketplace Scraper connects directly to the Visual Studio Code Gallery API endpoint (POST https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery). It executes structured search requests using target criteria flags (Microsoft.VisualStudio.Code) and filters results based on your specified search keywords, categories, publishers, tags, minimum install thresholds, and sorting parameters.
The scraper automatically pages through gallery result sets, applies exponential backoff retry handling on transient network hiccups (429/5xx status codes), and streams extracted extension records item-by-item into your Apify Actor default dataset.
Every scraped extension record is assigned a canonical addressable slug identifier (publisherName.extensionName, e.g., ms-python.python or github.copilot).
⬇️ Input
The actor accepts structured JSON input parameters to control query filtering, sorting, install thresholds, and result limits.
Input Parameters
| Parameter | Type | Required | Default | Prefill | Description |
|---|---|---|---|---|---|
search | String | No | "" | "" | Search keyword query to filter extensions (e.g. python, react, linter, theme). Leave empty to disable keyword filtering. |
category | String | No | "" | "Programming Languages" | Filter by VS Code Marketplace category (Programming Languages, Themes, Linters, Debuggers, Formatters, Snippets, Testing, Extension Packs, Data Science, Machine Learning, Keymaps, SCM Providers, Notebooks, Visualization, Other). Leave empty to include all categories. |
publisher | String | No | "" | "" | Restrict extraction to extensions published by a specific publisher handle (e.g. ms-python, ms-vscode, github, redhat, esbenp). |
tag | String | No | "" | "" | Filter extensions by manifest tag keyword (e.g. python, javascript, docker, copilot, tailwind). |
sortBy | String | No | "Installs" | "Installs" | Sorting metric: Installs, Relevance, LastUpdated, ReleaseDate, AverageRating, TrendingDaily, TrendingWeekly, TrendingMonthly. |
minInstalls | Integer | No | 0 | 0 | Minimum total install count filter (e.g. 10000). Extensions below this threshold are skipped. |
maxItems | Integer | No | 50 | 50 | Maximum number of extension records to extract and push (1 to 10,000). The higher the number, the longer the run takes and the more it costs in pay-per-event fees. |
Worked Example 1: Extract Top Programming Languages Extensions
To extract the 50 most installed extensions in the Programming Languages category:
{"category": "Programming Languages","sortBy": "Installs","maxItems": 50,"minInstalls": 0}
Worked Example 2: Scrape Official Microsoft Python Extensions
To extract extensions published by ms-python:
{"publisher": "ms-python","sortBy": "Installs","maxItems": 50}
Worked Example 3: Search AI Coding Assistants
To search for AI coding extensions tagged with copilot and sort by daily trending velocity:
{"search": "copilot","tag": "copilot","sortBy": "TrendingDaily","maxItems": 50}
Worked Example 4: Extract Popular Color Themes
To extract dark themes with over 100,000 installs:
{"category": "Themes","tag": "dark-theme","minInstalls": 100000,"sortBy": "Installs","maxItems": 50}
⬆️ Output
Scraped extension records are streamed directly to the default dataset. Each row represents a single Visual Studio Code extension with total installs, ratings, publisher information, and manifest metadata.
Output Field Specification
| Field Name | Data Type | Description | Example |
|---|---|---|---|
slug | String | Unique addressable identifier formatted as publisherName.extensionName | "ms-python.python" |
extensionId | String | Internal UUID string assigned to extension by VS Code Gallery | "998b010b-e2af-44a5-a6cd-0b5fd3b9b6f8" |
extensionName | String | Technical extension name identifier | "python" |
displayName | String | Human-readable display name of the extension | "Python" |
title | String | Marketplace title matching display name | "Python" |
publisherName | String | Unique publisher identifier handle | "ms-python" |
publisherDisplayName | String | Official display name of publisher organization | "Microsoft" |
publisherDomain | String | Verified domain URL associated with publisher | "https://microsoft.com" |
isPublisherVerified | Boolean | Flag indicating whether publisher identity/domain is verified | true |
installs | Number | Total cumulative installation count | 230469262 |
averageRating | Number | Average user rating score out of 5.0 | 4.2 |
ratingCount | Number | Total number of ratings/reviews submitted | 630 |
trendingDaily | Number | Daily trending growth velocity metric | 0.0012 |
trendingWeekly | Number | Weekly trending growth velocity metric | 0.3904 |
trendingMonthly | Number | Monthly trending growth velocity metric | 1.9129 |
weightedRating | Number | Bayesian weighted average rating score | 4.2086 |
downloadCount | Number | Total package VSIX download count | 3318772 |
version | String | Latest published version SemVer string | "2026.5.2026070801" |
lastUpdated | String | ISO 8601 UTC timestamp of most recent update | "2026-07-08T00:00:00Z" |
publishedDate | String | ISO 8601 UTC timestamp when extension was first published | "2017-08-01T00:00:00Z" |
releaseDate | String | ISO 8601 UTC timestamp of initial marketplace release | "2017-08-01T00:00:00Z" |
shortDescription | String | Summary description blurb | "Python extension for Visual Studio Code" |
categories | Array | Categories assigned to extension | ["Programming Languages", "Debuggers"] |
tags | Array | Keywords and tags assigned in manifest | ["python", "django", "flask"] |
marketplaceUrl | String | Direct web URL to marketplace extension listing | "https://marketplace.visualstudio.com/items?itemName=ms-python.python" |
Sample Output Record (JSON)
{"slug": "ms-python.python","extensionId": "998b010b-e2af-44a5-a6cd-0b5fd3b9b6f8","extensionName": "python","displayName": "Python","title": "Python","publisherName": "ms-python","publisherDisplayName": "Microsoft","publisherDomain": "https://microsoft.com","isPublisherVerified": true,"installs": 230469262,"averageRating": 4.2,"ratingCount": 630,"trendingDaily": 0.0012,"trendingWeekly": 0.3904,"trendingMonthly": 1.9129,"weightedRating": 4.2086,"downloadCount": 3318772,"version": "2026.5.2026070801","lastUpdated": "2026-07-08T00:00:00Z","publishedDate": "2017-08-01T00:00:00Z","releaseDate": "2017-08-01T00:00:00Z","shortDescription": "Python extension for Visual Studio Code","categories": ["Programming Languages","Debuggers"],"tags": ["python","django","flask","jupyter"],"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=ms-python.python"}
Pre-configured Tasks (TASKS.json)
This actor includes 50 pre-configured task definitions stored in TASKS.json. These tasks span distinct operational categories, publisher profiles, programming languages, themes, and install thresholds:
- Category Tasks (15 tasks): Programming Languages, Themes, Linters, Debuggers, Formatters, Snippets, Testing, Extension Packs, Data Science, Machine Learning, Keymaps, SCM Providers, Notebooks, Visualization, Other.
- Major Publisher Tasks (15 tasks): Microsoft Python (
ms-python), Microsoft VS Code Core (ms-vscode), GitHub (github), Red Hat (redhat), Prettier (esbenp), GitLens (eamodio), HashiCorp (hashicorp), Go Team (golang), Salesforce (salesforce), Java Team (vscjava), FormulaHendry (formulahendry), PlatformIO (platformio), AWS Toolkit (AWS-Toolkit-Team), Google Cloud (GoogleCloudTools), Docker (Docker). - Tag & Keyword Tasks (15 tasks): React, Python, Rust, Docker, Copilot, AI Assistants, Tailwind CSS, Prettier, Kubernetes, Flutter, Vue.js, TypeScript, Markdown, Dark Themes, C# / .NET.
- Sort & Install Threshold Tasks (5 tasks): Remote Development, Daily Trending Velocity, Weekly Trending Velocity, Newly Published Releases, High-Tier Verified Extensions (10M+ Installs).
Use Cases & Applications
- Developer Tooling Research: Analyze adoption rates, star ratings, and release frequency across different programming language ecosystems (Python, JavaScript, Rust, Go, Java, C++).
- Competitor Intelligence: Monitor competitor extension installs, rating shifts, daily/weekly trending velocity, and update cadence in real-time.
- AI Coding Assistant Analytics: Track market share growth and user adoption of AI coding tools (GitHub Copilot, Tabnine, Codeium, AWS CodeWhisperer).
- Marketplace Publishing Strategy: Benchmark your own extension's install volume and rating counts against category leaders to optimize tags, categories, and descriptions.
- Developer Trend Forecasting: Identify emerging developer tools, frameworks, and productivity extensions before they go mainstream by analyzing daily and weekly trending velocity metrics.
Pricing & Pay-Per-Event
The VS Code Marketplace Scraper operates on Apify's Pay-Per-Event (PPE) pricing model. You are charged a flat rate per extracted extension record pushed to your dataset ($0.001 per record), with automatic volume tier discounts applied based on your Apify subscription level:
- FREE: $0.00100 per record
- BRONZE: $0.00095 per record (5% discount)
- SILVER: $0.00090 per record (10% discount)
- GOLD: $0.00085 per record (15% discount)
- PLATINUM: $0.00080 per record (20% discount)
- DIAMOND: $0.00075 per record (25% discount)
Compute resource usage (RAM/CPU) is fully absorbed into the event price—you pay only for the exact rows returned.
❓ FAQ
Q: Does this scraper require a Microsoft or Visual Studio Code API token?
No. The scraper accesses the public VS Code Gallery REST API (extensionquery) directly without requiring any login credentials, OAuth tokens, or API keys.
Q: How fast is the extraction process?
Extremely fast. Because the scraper relies on direct HTTP REST requests rather than a headless browser, extracting 50 extension records completes in under 3 seconds.
Q: Can I extract all extensions from a specific publisher?
Yes. Simply set the publisher parameter to the publisher handle (for example, ms-python or github).
Q: What is the slug field and why is it important?
The slug field (publisherName.extensionName) is the canonical addressable identifier used by Visual Studio Code Marketplace and reapX entity pages (https://reapx.dev/data/vscode-marketplace-scraper/). It uniquely identifies every extension across all runs.
Q: Can I cap my maximum spending on a run?
Yes. Set the maxItems parameter (e.g., maxItems: 100) to guarantee that the run extracts no more than that specified number of extension records.
💬 Your feedback
We actively maintain this actor and welcome bug reports, feature requests, or dataset inquiries. Feel free to reach out via email at reapxdev@proton.me or visit reapx.dev.
Disclaimer: Unofficial - not affiliated with Microsoft or Visual Studio Code. Collects public data only. reapx. Contact reapxdev@proton.me.
🧪 Example input
A real, runnable configuration — this is an actual input this Actor has run with.
{"category": "Programming Languages","sortBy": "Installs","maxItems": 50,"minInstalls": 0}
📄 Sample output
One real row from a real run of this Actor, unedited.
{"slug": "ms-python.python","extensionId": "f1f59ae4-9318-4f3c-a9b5-81b2eaa5f8a5","extensionName": "python","displayName": "Python","title": "Python","publisherName": "ms-python","publisherDisplayName": "Microsoft","publisherDomain": "https://microsoft.com","isPublisherVerified": true,"installs": 230517750,"averageRating": 4.2,"ratingCount": 630,"trendingDaily": 0.0012099933209497086,"trendingWeekly": 0.3903837551374847,"trendingMonthly": 1.9129484299043078,"weightedRating": 4.208616482345023,"downloadCount": 3319099,"version": "2026.5.2026070801","lastUpdated": "2026-07-08T11:35:23.263Z","publishedDate": "2016-01-19T15:03:11.337Z","releaseDate": "2016-01-19T15:03:11.337Z","shortDescription": "Python language support with extension access points for IntelliSense (Pylance), Debugging (Python Debugger), linting, formatting, refactoring, unit tests, and more.","categories": [],"tags": [],"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=ms-python.python"}
⚠️ Run outcomes and error handling
This Actor reports what happened in the run's status message, and it always keeps whatever it collected. These are the outcomes you can get and what each one means.
| Outcome | What it means |
|---|---|
| Success | Rows were returned and you were charged extension-scraped at $0.001 per row. |
| No matches | The source returned nothing for your filters. Nothing is charged. Widen the date window or drop a filter. |
What is guaranteed either way
- Every row is pushed as it is built, not buffered to the end of the run. Anything that buffers output loses everything to a timeout, a block or a migration; this does not.
- A field absent from the source is absent from the row. Nothing is inferred, modelled or filled in to make a row look complete.