VS Code Extensions Scraper (Deep: Versions, Ratings, Deps) avatar

VS Code Extensions Scraper (Deep: Versions, Ratings, Deps)

Pricing

from $6.80 / 1,000 results

Go to Apify Store
VS Code Extensions Scraper (Deep: Versions, Ratings, Deps)

VS Code Extensions Scraper (Deep: Versions, Ratings, Deps)

Deep VS Code extension scraper. Per extension: full version history with dates, rating breakdown, categories and tags, dependencies and extension pack, engine, pricing, repository, license, changelog and Q&A links. Search by keyword or category. Export to JSON, CSV or Excel.

Pricing

from $6.80 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

VS Code Extensions Scraper (Deep: Versions, Ratings, Deps)

VS Code Extensions Scraper (Deep: Versions, Ratings, Deps)

Here is one real result, with every field the actor returns (versionHistory trimmed to 3 of 12 entries; all other values are exactly as returned):

{
"extensionId": "6c2f1801-1e7f-45b2-9b5c-7782f1e076e8",
"itemName": "ms-toolsai.jupyter",
"extensionName": "jupyter",
"displayName": "Jupyter",
"shortDescription": "Jupyter notebook support, interactive programming and computing that supports Intellisense, debugging and more.",
"publisherName": "ms-toolsai",
"publisherDisplayName": "Microsoft",
"publisherDomain": "https://microsoft.com",
"publisherVerified": true,
"isDomainVerified": true,
"latestVersion": "2026.6.2026071501",
"lastUpdated": "2026-07-15T10:05:18.377+00:00",
"publishedDate": "2020-11-11T19:14:18.823+00:00",
"releaseDate": "2020-11-11T19:14:18.823+00:00",
"versionCount": 12,
"versionHistory": [
{ "version": "2026.6.2026071501", "lastUpdated": "2026-07-15T10:05:18.373Z", "targetPlatform": "win32-arm64" },
{ "version": "2026.6.2026071501", "lastUpdated": "2026-07-15T10:04:37.437Z", "targetPlatform": "win32-x64" },
{ "version": "2023.8.1002501831", "lastUpdated": "2023-09-06T16:44:01.333Z", "targetPlatform": null }
],
"installs": 107911693,
"downloads": 940788,
"updateCount": 495963999,
"averageRating": 2.648501396179199,
"weightedRating": 2.6963229850303554,
"ratingCount": 367,
"trendingDaily": 0.0005718522054740789,
"trendingWeekly": 0.17820930084998715,
"trendingMonthly": 0.8749856874768513,
"categories": ["Extension Packs", "Data Science", "Machine Learning", "Visualization", "Notebooks"],
"tags": ["debuggers", "interactive", "julia", "jupyter", "keybindings", "language-model-tools", "multi-root ready", "notebook", "notebookKernelJupyterNotebook", "python", "raw", "tools"],
"engine": "^1.106.0",
"extensionKind": ["workspace"],
"pricing": "Free",
"preRelease": true,
"dependencies": null,
"extensionPack": ["ms-toolsai.jupyter-keymap", "ms-toolsai.jupyter-renderers", "ms-toolsai.vscode-jupyter-slideshow", "ms-toolsai.vscode-jupyter-cell-tags"],
"repoUrl": "https://github.com/Microsoft/vscode-jupyter",
"sourceUrl": "https://github.com/Microsoft/vscode-jupyter",
"supportUrl": "https://github.com/Microsoft/vscode-jupyter/issues",
"learnUrl": "https://github.com/Microsoft/vscode-jupyter",
"sponsorUrl": null,
"qnaEnabled": true,
"qnaUrl": "https://github.com/microsoft/vscode-jupyter/discussions",
"licenseUrl": "https://ms-toolsai.gallerycdn.vsassets.io/extensions/ms-toolsai/jupyter/2026.6.2026071501/1784109533470/Microsoft.VisualStudio.Services.Content.License",
"changelogUrl": "https://ms-toolsai.gallerycdn.vsassets.io/extensions/ms-toolsai/jupyter/2026.6.2026071501/1784109533470/Microsoft.VisualStudio.Services.Content.Changelog",
"readmeUrl": "https://ms-toolsai.gallerycdn.vsassets.io/extensions/ms-toolsai/jupyter/2026.6.2026071501/1784109533470/Microsoft.VisualStudio.Services.Content.Details",
"iconUrl": "https://ms-toolsai.gallerycdn.vsassets.io/extensions/ms-toolsai/jupyter/2026.6.2026071501/1784109533470/Microsoft.VisualStudio.Services.Icons.Default",
"manifestUrl": "https://ms-toolsai.gallerycdn.vsassets.io/extensions/ms-toolsai/jupyter/2026.6.2026071501/1784109533470/Microsoft.VisualStudio.Code.Manifest",
"vsixUrl": "https://ms-toolsai.gallerycdn.vsassets.io/extensions/ms-toolsai/jupyter/2026.6.2026071501/1784109533470/Microsoft.VisualStudio.Services.VSIXPackage",
"vsixSha256": "43fd50e5bba11c575bfd6bab5a922015b3272a2d61b317788c8002d2c90337db",
"executesCode": true,
"publisherId": "ac8eb7c9-3e59-4b39-8040-f0484d8170ce",
"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter",
"source": "VS Code Marketplace",
"observedAt": "2026-08-10T14:31:22.333Z"
}

The most complete VS Code extensions scraper available. It returns every field the Marketplace gallery exposes per extension, plus the full version history, rating breakdown, dependencies, extension pack, and download URLs, and gives you four inputs (keyword, category, sort order, and a result cap) to target exactly the extensions you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches the Visual Studio Code Marketplace by keyword and optional category, orders the results by the sort you choose, and writes one deep record per extension to the run's dataset. Each record includes the full version history with per-platform release dates, install and download counts, the rating breakdown, categories and tags, dependencies and extension pack, engine requirement, pricing, and direct URLs to the repository, license, changelog, README, manifest, icon, and the VSIX package (with its SHA-256).

Data covers the public VS Code Marketplace only. To scrape a single publisher's whole catalog, use the VS Code Publishers Scraper.

Quickstart

Open the actor, paste this into the input, and press Run. It returns the 10 most-installed Python-related extensions with full metadata.

{
"searchQuery": "python",
"sortBy": "installs",
"maxExtensions": 10
}

Every field is optional. Leave searchQuery empty to browse the whole marketplace, add a category to narrow the results, or change sortBy to rating, updated, or trending.

Input reference

FieldTypeRequiredDefaultDescription
searchQuerystringnopythonKeyword matched against extension name, description, or tag, for example python, docker, ai, linter. Leave empty to browse the whole marketplace.
categorystringno(any)Restrict to one marketplace category, for example Programming Languages, Linters, Machine Learning, Snippets, Themes, Debuggers.
sortByenumnoinstallsOrder the results: installs, rating, updated, trending, or relevance.
maxExtensionsintegerno10Maximum number of extensions to collect, each with full version history and metadata.

Output reference

One dataset item per extension. Types: string, number, boolean, string[], object[], or null when the source value is absent.

FieldTypeDescription
extensionIdstringMarketplace GUID for the extension.
itemNamestringFull item name publisher.extension, the install identifier.
extensionNamestringShort extension name.
displayNamestringHuman-readable extension name.
shortDescriptionstringOne-line description.
publisherNamestringPublisher slug.
publisherDisplayNamestringPublisher display name.
publisherDomainstringPublisher domain, or null.
publisherVerifiedbooleanWhether the publisher is verified.
isDomainVerifiedbooleanWhether the publisher domain is verified.
publisherIdstringPublisher GUID.
latestVersionstringLatest published version.
lastUpdatedstringTimestamp of the latest update.
publishedDatestringFirst publication timestamp.
releaseDatestringOriginal release timestamp.
versionCountnumberNumber of versions in the history.
versionHistoryobject[]Version list, each with version, lastUpdated, and targetPlatform.
installsnumberTotal install count.
downloadsnumberDownload count.
updateCountnumberTotal update events.
averageRatingnumberAverage star rating.
weightedRatingnumberMarketplace weighted rating.
ratingCountnumberNumber of ratings.
trendingDailynumberDaily trending score.
trendingWeeklynumberWeekly trending score.
trendingMonthlynumberMonthly trending score.
categoriesstring[]Marketplace categories.
tagsstring[]Extension tags.
enginestringRequired VS Code engine version range.
extensionKindstring[]Extension kind (ui, workspace).
pricingstringPricing (Free or Trial).
preReleasebooleanWhether the latest version is a pre-release.
dependenciesstring[]Extension dependencies, or null.
extensionPackstring[]Extensions bundled in the pack.
repoUrlstringSource repository URL.
sourceUrlstringSource code URL.
supportUrlstringSupport / issues URL.
learnUrlstringLearn-more URL.
sponsorUrlstringSponsor URL, or null.
qnaEnabledbooleanWhether Q&A is enabled.
qnaUrlstringQ&A / discussions URL.
licenseUrlstringLicense file URL.
changelogUrlstringChangelog URL.
readmeUrlstringREADME (details) URL.
iconUrlstringExtension icon URL.
manifestUrlstringExtension manifest URL.
vsixUrlstringDirect download URL for the VSIX package.
vsixSha256stringSHA-256 checksum of the VSIX package.
executesCodebooleanWhether the extension executes code.
marketplaceUrlstringPublic Marketplace page URL.
sourcestringData source tag (VS Code Marketplace).
observedAtstringISO 8601 timestamp of when the record was collected.

Example output record

Real record from a live run (input {"searchQuery":"python","sortBy":"installs","maxExtensions":10}), compact view:

{
"itemName": "ms-toolsai.jupyter",
"displayName": "Jupyter",
"publisherDisplayName": "Microsoft",
"latestVersion": "2026.6.2026071501",
"versionCount": 12,
"installs": 107911693,
"averageRating": 2.648501396179199,
"ratingCount": 367,
"categories": ["Extension Packs", "Data Science", "Machine Learning", "Visualization", "Notebooks"],
"pricing": "Free",
"repoUrl": "https://github.com/Microsoft/vscode-jupyter",
"vsixUrl": "https://ms-toolsai.gallerycdn.vsassets.io/extensions/ms-toolsai/jupyter/2026.6.2026071501/1784109533470/Microsoft.VisualStudio.Services.VSIXPackage",
"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter",
"observedAt": "2026-08-10T14:31:22.333Z"
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~vscode-extensions-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQuery":"python","sortBy":"installs","maxExtensions":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~vscode-extensions-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"category":"Linters","sortBy":"rating","maxExtensions":100}'

Apify CLI:

apify call scrapers_lat/vscode-extensions-scraper \
--input '{"searchQuery":"docker","sortBy":"trending"}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per extension returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxExtensions.

FAQ and troubleshooting

A run returned 0 records. Why? The keyword plus category combination matched nothing. Loosen the category, broaden the searchQuery, or leave searchQuery empty to browse the whole marketplace. Zero-result runs are not charged.

How do I get the download link for an extension? Every record includes vsixUrl (the direct VSIX package URL) and vsixSha256 (its checksum), plus manifestUrl and iconUrl.

Why is dependencies or sponsorUrl null? The extension declares no dependencies, or the publisher did not set a sponsor link. Missing values are returned as null, never invented.

Can I get every version of an extension? Yes. versionHistory lists each published version with its release timestamp and target platform, and versionCount gives the total.

How do I scrape all extensions from one publisher? Use the VS Code Publishers Scraper, which enumerates a publisher's full catalog.

Is this an official Microsoft tool? No. This actor is independent and has no affiliation with Microsoft or the Visual Studio Code Marketplace. It reads only data that is publicly available on the Marketplace.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Microsoft or the Visual Studio Code Marketplace. Accesses only publicly available Marketplace data.