VS Code Publishers Scraper (Leads: Domain, Installs) avatar

VS Code Publishers Scraper (Leads: Domain, Installs)

Pricing

from $10.20 / 1,000 results

Go to Apify Store
VS Code Publishers Scraper (Leads: Domain, Installs)

VS Code Publishers Scraper (Leads: Domain, Installs)

Publisher-centric VS Code Marketplace scraper. Each record is a publisher with website domain, domain verification, verified badge, total installs across all their extensions, extension count and top extensions. Build devtool vendor lead lists. Export to JSON, CSV or Excel.

Pricing

from $10.20 / 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 Publishers Scraper (Leads: Domain, Installs)

VS Code Publishers Scraper (Leads: Domain, Installs)

Here is one real result (the topExtensions array is trimmed to the first 3 of 4 entries to keep the example short; all values are real):

{
"publisherName": "VisualStudioExptTeam",
"displayName": "Microsoft",
"publisherId": "e8db1608-52e8-4d8d-92a6-779c5db302a9",
"domain": "https://microsoft.com",
"isDomainVerified": true,
"verified": true,
"extensionCount": 4,
"totalInstalls": 109522392,
"totalDownloads": 209608,
"averageRating": 3.948,
"totalRatingCount": 134,
"lastActivity": "2024-10-23T23:47:03.84Z",
"categories": ["Other"],
"sponsorUrls": null,
"githubOrgs": ["MicrosoftDocs"],
"topExtensions": [
{
"displayName": "IntelliCode",
"extensionName": "vscodeintellicode",
"installs": 62164853,
"averageRating": 3.903846263885498,
"ratingCount": 104,
"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode"
},
{
"displayName": "IntelliCode API Usage Examples",
"extensionName": "intellicode-api-usage-examples",
"installs": 46609630,
"averageRating": 3.761904716491699,
"ratingCount": 21,
"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.intellicode-api-usage-examples"
},
{
"displayName": "IntelliCode Completions",
"extensionName": "vscodeintellicode-completions",
"installs": 558342,
"averageRating": 4.833333492279053,
"ratingCount": 6,
"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode-completions"
}
],
"website": "https://microsoft.com",
"websiteUrl": "https://microsoft.com",
"marketplaceUrl": "https://marketplace.visualstudio.com/publishers/VisualStudioExptTeam",
"source": "VS Code Marketplace",
"observedAt": "2026-08-10T14:31:26.568Z"
}

The most complete VS Code Marketplace publisher scraper available. It is publisher-centric, not extension-centric: every record is a developer or vendor with their website domain (the lead), verification status, total installs summed across all their extensions, extension count, aggregate rating, categories, GitHub orgs, and their top extensions.

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

Apify Coverage Output Billing

Table of contents

What it does

The actor discovers Visual Studio Code Marketplace publishers from a keyword or publisher name, ranked by the installs of their matching extensions. For each publisher it fetches all of their extensions, then aggregates them into one record: total installs and downloads, extension count, install-weighted average rating, categories, GitHub orgs, sponsor links, and the publisher's top extensions with per-extension installs and ratings. The publisher website domain is captured as the lead field, along with verification status. Missing source values are returned as null.

Leave searchQuery empty to browse the top publishers broadly, or pass a keyword such as python or ai to focus on a topic.

Quickstart

Open the actor, paste this into the input, and press Run. It returns 10 publishers matching microsoft, each aggregated across all of their extensions.

{
"searchQuery": "microsoft",
"maxPublishers": 10
}

Every input field is optional. With an empty input the actor returns the top publishers by install volume.

Input reference

FieldTypeRequiredDefaultDescription
searchQuerystringnomicrosoftPublisher name or topic keyword to discover publishers from (for example redhat, python, ai). Publishers are ranked by the installs of their matching extensions. Leave empty to browse the top publishers broadly.
maxPublishersintegerno10Maximum number of publishers to collect, each aggregated across all of their extensions.

Both fields are optional.

Output reference

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

FieldTypeDescription
publisherNamestringMarketplace publisher slug (unique).
displayNamestringPublisher display name.
publisherIdstringMarketplace publisher GUID.
domainstringPublisher website domain (the lead), or null.
isDomainVerifiedbooleanWhether the domain is verified, or null.
verifiedbooleanWhether the publisher carries the verified flag.
extensionCountintegerNumber of extensions the publisher has published.
totalInstallsintegerInstalls summed across all of the publisher's extensions.
totalDownloadsintegerDownloads summed across all of the publisher's extensions.
averageRatingnumberInstall-weighted average rating across the publisher's extensions, or null.
totalRatingCountintegerTotal number of ratings across the publisher's extensions, or null.
lastActivitystringISO 8601 timestamp of the most recent extension update.
categoriesstring[]Distinct categories across the publisher's extensions, or null.
sponsorUrlsstring[]Sponsor or funding links declared by the extensions, or null.
githubOrgsstring[]GitHub organizations parsed from the extensions' source links, or null.
topExtensionsobject[]Top extensions by installs, each with displayName, extensionName, installs, averageRating, ratingCount, and marketplaceUrl.
websitestringSame as domain, or null.
websiteUrlstringNormalized website URL with scheme, or null.
marketplaceUrlstringPublisher page URL on the Marketplace.
sourcestringData source label: VS Code Marketplace.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringPresent only on a failed run; an item with a populated error field is written instead.

Example output record

Real record from a live run (input {"searchQuery": "microsoft", "maxPublishers": 10}), with topExtensions trimmed to the first 3 of 4 entries:

{
"publisherName": "VisualStudioExptTeam",
"displayName": "Microsoft",
"publisherId": "e8db1608-52e8-4d8d-92a6-779c5db302a9",
"domain": "https://microsoft.com",
"isDomainVerified": true,
"verified": true,
"extensionCount": 4,
"totalInstalls": 109522392,
"totalDownloads": 209608,
"averageRating": 3.948,
"totalRatingCount": 134,
"lastActivity": "2024-10-23T23:47:03.84Z",
"categories": ["Other"],
"sponsorUrls": null,
"githubOrgs": ["MicrosoftDocs"],
"topExtensions": [
{
"displayName": "IntelliCode",
"extensionName": "vscodeintellicode",
"installs": 62164853,
"averageRating": 3.903846263885498,
"ratingCount": 104,
"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode"
},
{
"displayName": "IntelliCode API Usage Examples",
"extensionName": "intellicode-api-usage-examples",
"installs": 46609630,
"averageRating": 3.761904716491699,
"ratingCount": 21,
"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.intellicode-api-usage-examples"
},
{
"displayName": "IntelliCode Completions",
"extensionName": "vscodeintellicode-completions",
"installs": 558342,
"averageRating": 4.833333492279053,
"ratingCount": 6,
"marketplaceUrl": "https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode-completions"
}
],
"website": "https://microsoft.com",
"websiteUrl": "https://microsoft.com",
"marketplaceUrl": "https://marketplace.visualstudio.com/publishers/VisualStudioExptTeam",
"source": "VS Code Marketplace",
"observedAt": "2026-08-10T14:31:26.568Z"
}

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-publishers-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQuery":"python","maxPublishers":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~vscode-publishers-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQuery":"ai","maxPublishers":50}'

Apify CLI:

apify call scrapers_lat/vscode-publishers-scraper \
--input '{"searchQuery":"redhat"}'

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 publisher record returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If the source is unavailable, 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 publishers per run. Upgrade for higher maxPublishers.

FAQ and troubleshooting

Why is each record a publisher and not an extension? This actor is built for lead generation. The valuable field is the publisher's website domain, plus their total reach (installs across all extensions). Individual extensions appear inside topExtensions.

How is totalInstalls calculated? It sums the install count of every extension the publisher has on the Marketplace, not just the one that matched your search.

What does an empty searchQuery return? The top publishers by install volume across the Marketplace, up to maxPublishers.

Why is domain sometimes null? The publisher did not declare a verified website domain on the Marketplace. Missing source values are returned as null, never invented.

A run returned 0 records. Why? The keyword matched no publishers. Try a broader term or leave searchQuery empty. Zero-result runs are not charged.

Is this an official Microsoft tool? No. This actor is independent and has no affiliation with Microsoft or the VS Code Marketplace. It reads only data that is publicly available on the Marketplace. Use it in accordance with the source terms of service.

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 VS Code Marketplace. Accesses only publicly available data. Use in accordance with the source terms of service.