Chrome Extension & Source Code Scraper
Pricing
from $0.50 / 1,000 extension results
Chrome Extension & Source Code Scraper
Scrape Chrome Web Store extensions from search, categories, or direct URLs. Filter by featured status, ratings, and users. Get full metadata, reviews, and optional source .zip files. Pick a region — results vary by country.
Pricing
from $0.50 / 1,000 extension results
Rating
0.0
(0)
Developer
Coder
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Chrome Extension Scraper
Collect structured extension data from the Chrome Web Store using search queries, category pages, or direct extension links. Filter listings by featured status, ratings, and install counts, optionally enrich records with full metadata and reviews, and download extension source archives when needed.
Use it for competitive research, extension discovery, market analysis, lead generation, and security review workflows — without copying listings manually from the store.
What you get
Each saved row is one extension, organized into clear sections:
| Section | What it contains |
|---|---|
| Identity | Extension ID, name, store URL, version, and manifest version |
| Listing summary | Short description, publisher, category, rating, user count, and featured flags |
| Developer | Developer name, contact details, website, and verification flags (when details are fetched) |
| Media | Icon, cover image, and screenshots (when details are fetched) |
| Manifest | Permissions, host permissions, and manifest summary (when details are fetched) |
| Privacy | Privacy policy link, declared data types, and privacy declarations (when details are fetched) |
| Reviews | User reviews with ratings and text (when review fetching is enabled) |
| Source code | Link to a .zip archive in your Apify Key-Value Store (when source download is enabled) |
| Provenance | Which search, category, or direct input produced the row (sourceType, sourceUrl, etc.) |
Results stream to the dataset as extensions are saved, so you can preview progress before the run finishes.
Quick start on Apify
- Open the Actor in the Apify Console.
- Set Request Country (required) — choose the region whose store view you want. Listings and rankings can differ by country.
- Add at least one input:
- Search URLs & Queries — keywords such as
aior full store search URLs, or - Category URLs / Predefined Categories, or
- Direct Extension URLs or IDs
- Search URLs & Queries — keywords such as
- Set Max Extensions Per Search and Max Extensions Per Category (default
10each). - Optionally enable Fetch Extension Details, Fetch Reviews, or Source Code Download.
- Click Start and open the Dataset tab when the run finishes.
Example input (search + category + filters):
{"proxyCountry": "us","searchUrls": ["ai"],"predefinedCategories": ["https://chromewebstore.google.com/category/extensions/productivity/communication"],"maxExtensionsPerSearch": 100,"maxExtensionsPerCategory": 100,"filterBy": "featured","minRating": 3.8,"maxRating": 4.5,"minUsers": 1000,"maxUsers": 50000,"fetchDetails": false}
Example input (single extension with full detail, reviews, and source):
{"proxyCountry": "us","directExtensions": ["fmbicfmfmangckllfaomfkhdankgapfk"],"fetchDetails": true,"fetchReviews": true,"maxReviews": 10,"sourceCodeExtensions": ["fmbicfmfmangckllfaomfkhdankgapfk"]}
Input parameters
Provide at least one search query, category URL, predefined category, direct extension, or source-code target.
Request Country
| Type | Select (required) |
| Default | United States (us) |
| Purpose | Controls which regional view of the Chrome Web Store is used |
Chrome Web Store results — including search rankings, category ordering, and available extensions — can vary by region. Always set this to the market you want to analyze.
Search URLs & Queries
| Type | List of strings |
| Format | Plain keywords (e.g. SEO, password manager) or full Chrome Web Store search URLs |
| Limit | Controlled by Max Extensions Per Search (per query or URL) |
Each search is processed independently up to the per-search maximum.
Max Extensions Per Search
| Type | Integer |
| Range | 1 – 10,000 |
| Default | 10 |
Maximum extensions collected per search query or search URL.
Custom Category URLs & Predefined Categories
| Type | List of URLs and/or predefined category selections |
| Format | Full category URLs such as https://chromewebstore.google.com/category/extensions/productivity/communication |
| Limit | Controlled by Max Extensions Per Category (per category) |
Custom URLs and predefined categories are combined into one category task list.
Max Extensions Per Category
| Type | Integer |
| Range | 1 – 10,000 |
| Default | 10 |
Maximum extensions collected per category URL or predefined category.
Direct Extension URLs or IDs
| Type | List of strings |
| Format | 32-character extension ID or full Chrome Web Store detail URL |
Direct extensions are always enriched with full metadata, regardless of the Fetch Extension Details toggle. Search and category list filters do not apply to direct inputs.
Filter By (Search & Category Only)
| Type | Select |
| Options | All, Featured, Established Publishers |
| Default | All |
| Applies to | Search and category inputs only |
If a pasted store URL already contains a filter parameter and your Filter By input differs, the Actor uses Filter By for scraping and rewrites the output sourceUrl so the link opens with the same filter in the store UI.
Rating and user filters
| Field | Applies to |
|---|---|
minRating / maxRating | Search and category list results |
minUsers / maxUsers | Search and category list results |
Direct extensions ignore these filters.
Fetch Extension Details
| Type | Boolean |
| Default | false |
| Effect | Loads full extension pages for items discovered in search or category lists |
When enabled, records include long descriptions, developer contact fields, screenshots, manifest summaries, privacy data, and related extensions.
Fetch Reviews
| Type | Boolean |
| Default | false |
| Requires | Extension details (via Fetch Extension Details, a direct extension, or source-code download) |
Max Reviews Per Extension
| Type | Integer |
| Default | 10 |
| Range | 1 – 10,000 |
Used when Fetch Reviews is enabled.
Source Code Download
| Type | List of extension URLs or IDs |
| Output | .zip files saved to the run's Apify Key-Value Store |
Only extensions listed here receive a source download. They are also scraped with full metadata if not already included elsewhere in your input.
What you will see during a run
The run log is written for end users — progress messages describe collection activity only, without technical internals.
Typical messages:
Region: United States.Collecting extensions from 2 list sources.Collecting extensions from search "ai" (up to 100).Collected 100 extension(s) from search "ai".Found 55 of 100 requested extensions from category "communication". The store has no more matching results, or your filters excluded the rest.Finished. Saved 155 extension record(s).
If an input cannot be processed or an individual extension fails to save, you will see a short warning; other inputs in the same run can still succeed.
On the Apify free plan, you may also see a notice when free-tier limits apply (see Free plan limits).
Output overview
Dataset structure
- Results are saved to a single Apify dataset
- Each row is one extension object
- Use
sourceType,sourceUrl,searchQuery, andcategorySlugto see which input produced each row - Duplicate extension IDs across search and category inputs are saved once in a single run
Listing-only vs full detail records
| Mode | Typical fields |
|---|---|
Listing only (fetchDetails: false for search/category results) | Core listing fields — name, rating, users, category, icon, store URL, provenance |
Full detail (direct extensions, source download, or fetchDetails: true) | Everything above plus long description, developer contacts, screenshots, manifest, privacy, reviews, and optional source archive link |
Field presence varies by extension: not every listing includes developer email, screenshots, or reviews. Empty arrays ([]) or null mean the store did not publish that data — not necessarily an error.
If optional data could not be retrieved, check the warnings array on the row for user-safe labels.
Source code files
When Source Code Download is enabled, .zip files are stored in the run's Key-Value Store. Each matching dataset row includes a sourceCode object with the store key, file size, and download URL.
Output fields
Core identity and listing
| Field | Description |
|---|---|
extensionId | 32-character Chrome extension ID |
name | Extension name |
shortDescription | Short listing description |
longDescription | Full description (full-detail records only) |
publisherName | Publisher display name |
category | Store category slug |
categoryDisplayName | Human-readable category name (full-detail records) |
categoryRank | Rank within category when available |
rating | Average star rating |
ratingCount | Number of ratings |
userCount | Reported install / user count |
featured | Whether the listing is marked featured |
establishedPublisher | Whether the publisher is marked established |
verifiedDeveloper | Verified developer flag |
hasDeveloperEmail | Whether a developer email is published |
version | Published extension version |
manifestVersion | Manifest version (2 or 3) |
size | Package size string (full-detail records) |
iconUrl | Extension icon URL |
coverUrl | Cover / promo image URL |
screenshots | Screenshot and video embed URLs (full-detail records) |
storeUrl | Chrome Web Store detail page URL |
lastUpdated | Last update timestamp when published |
scrapedAt | ISO timestamp when the row was collected |
Developer and publisher (full-detail records)
| Field | Description |
|---|---|
developerName | Developer display name |
developerLegalName | Legal entity name when published |
developerEmail | Contact email when published |
developerAddress | Mailing address when published |
developerPhone | Phone number when published |
developerWebsite | Developer or product website |
publisherId | Internal publisher identifier when available |
dunsNumber | D-U-N-S number when published |
isEuTrader | EU trader declaration flag |
Manifest and privacy (full-detail records)
| Field | Description |
|---|---|
manifestSummary | Parsed manifest fields — permissions, host permissions, homepage, etc. |
languages / locales | Supported languages |
relatedExtensions | Related extension suggestions from the store |
privacyPolicyUrl | Link to privacy policy |
supportUrl | Support or contact URL |
privacyDataTypes | Declared data types collected |
privacyDeclarations | Privacy practice declarations |
Reviews (when enabled)
| Field | Description |
|---|---|
reviews | Array of review objects |
reviewCount | Number of reviews saved for this extension |
Each review object may include:
| Field | Description |
|---|---|
reviewId | Review identifier |
authorName | Reviewer display name |
rating | Star rating (1–5) |
text | Review body |
createdAt / updatedAt | Review timestamps |
helpfulUp / helpfulDown | Helpful vote counts when shown |
locale | Review language code |
Source code (when enabled)
| Field | Description |
|---|---|
sourceCode.key | Key-Value Store record name (.zip) |
sourceCode.sizeBytes | Archive size in bytes |
sourceCode.downloadUrl | Apify download URL for the archive |
Provenance
| Field | Description |
|---|---|
sourceType | search, category, direct, or source-code |
sourceInput | Original input string (query, URL, or extension ID) |
sourceUrl | Store URL used for collection (includes active filters when applicable) |
searchQuery | Parsed search query when sourceType is search |
categorySlug | Parsed category path when sourceType is category |
warnings
| Value | Meaning |
|---|---|
Extension details could not be loaded. | Full detail page was unavailable; listing fields may still be present |
Reviews could not be loaded. | Review fetch failed; other fields may still be present |
Source code could not be downloaded. | Source archive was unavailable for this extension |
Example output
The excerpts below come from a real run using Request Country: United States, search query ai, category Productivity → Communication, Featured filter, rating/user thresholds, and a direct extension with reviews and source download. Full output is available in the run dataset.
Example input
{"proxyCountry": "us","searchUrls": ["ai"],"predefinedCategories": ["https://chromewebstore.google.com/category/extensions/productivity/communication"],"directExtensions": ["fmbicfmfmangckllfaomfkhdankgapfk"],"maxExtensionsPerSearch": 100,"maxExtensionsPerCategory": 100,"filterBy": "featured","minRating": 3.8,"maxRating": 4.5,"minUsers": 1000,"maxUsers": 50000,"fetchDetails": true,"fetchReviews": true,"maxReviews": 5,"sourceCodeExtensions": ["fmbicfmfmangckllfaomfkhdankgapfk"]}
Excerpt — listing record from a search result
{"extensionId": "jldogdgepmcedfdhgnmclgemehfhpomg","name": "Retriever: AI Web Agent","shortDescription": "Turn your browser into a self-driving AI Agent. Automate scraping, form filling and monitoring with simple prompting.","publisherName": "Retriever: AI Web Agent","category": "productivity/workflow","categoryRank": 4,"rating": 3.9,"ratingCount": 57,"userCount": 10000,"verifiedDeveloper": true,"hasDeveloperEmail": true,"featured": true,"establishedPublisher": true,"developerWebsite": "https://rtrvr.ai","version": "33.2.0","manifestVersion": 3,"iconUrl": "https://lh3.googleusercontent.com/xzbpUe8Yd4MyD5zbxVmyhu3Ool0H8JO2pMd-AMqSSav5YxsJPW7zDhwe9Kv7ERjJEs6oXJwzK5GMUpY2jpeOJkMDVLc","coverUrl": "https://lh3.googleusercontent.com/1eMACFjmvnGQlaNPSQC5Hv1ZV0gvNU4tKOMGFa0m5hQ7461QbWe8MNOtgdl4HbE8ybA1Yr-ITYbGR2SOS68ceC1KeJQ","storeUrl": "https://chromewebstore.google.com/detail/x/jldogdgepmcedfdhgnmclgemehfhpomg","lastUpdated": "2024-09-25T10:06:55.745Z","sourceType": "search","sourceInput": "ai","sourceUrl": "https://chromewebstore.google.com/search/ai?filter=featured&filterBy=featured","searchQuery": "ai","categorySlug": null,"scrapedAt": "2026-06-21T14:19:12.879Z"}
Excerpt — listing record from a category result
{"extensionId": "ioinaaeeacahcmbgfmeaaofhfkijpdeb","name": "HTML Editor for Gmail by cloudHQ","shortDescription": "HTML Editor for Gmail™ - code HTML email directly from Gmail","publisherName": "HTML Editor for Gmail by cloudHQ","category": "productivity/communication","categoryRank": 3,"rating": 4.1,"ratingCount": 191,"userCount": 50000,"verifiedDeveloper": true,"hasDeveloperEmail": true,"featured": true,"establishedPublisher": true,"developerWebsite": "https://www.html-editor-for-gmail.com/","version": "2.0.2.7","manifestVersion": 3,"storeUrl": "https://chromewebstore.google.com/detail/x/ioinaaeeacahcmbgfmeaaofhfkijpdeb","lastUpdated": "2017-07-05T04:58:52.502Z","sourceType": "category","sourceInput": "https://chromewebstore.google.com/category/extensions/productivity/communication","sourceUrl": "https://chromewebstore.google.com/category/extensions/productivity/communication?filter=featured&filterBy=featured","searchQuery": null,"categorySlug": "productivity/communication","scrapedAt": "2026-06-21T14:19:12.465Z"}
Excerpt — full detail record with reviews and source code (direct extension)
{"extensionId": "fmbicfmfmangckllfaomfkhdankgapfk","name": "CrackTech - Tech Interview Preparation","shortDescription": "A tool that can help candidate to prepare for a tech interview preparation.","rating": 3.8,"ratingCount": 19,"userCount": 10000,"featured": true,"verifiedDeveloper": true,"developerName": "Avik Sarkar","developerEmail": "ssavi.ict@gmail.com","developerWebsite": "https://github.com/ssavi-ict/LeetCode-Which-Company","version": "2.2.0","manifestVersion": 3,"storeUrl": "https://chromewebstore.google.com/detail/x/fmbicfmfmangckllfaomfkhdankgapfk","manifestSummary": {"manifestVersion": 3,"permissions": ["tabs", "notifications", "alarms", "storage", "activeTab"],"hostPermissions": ["<all_urls>", "https://leetcode.com/*"]},"reviews": [{"reviewId": "62e97a00-cdb4-4d2e-819b-c17785d1f828","authorName": "Suryakant Bharti","rating": 5,"text": "works as expected 👍","createdAt": "2025-11-29T17:06:40.114Z","locale": "en"}],"reviewCount": 5,"sourceCode": {"key": "fmbicfmfmangckllfaomfkhdankgapfk.zip","sizeBytes": 511700,"downloadUrl": "https://api.apify.com/v2/key-value-stores/STORE_ID/records/fmbicfmfmangckllfaomfkhdankgapfk.zip"},"sourceType": "direct","sourceInput": "fmbicfmfmangckllfaomfkhdankgapfk","sourceUrl": "https://chromewebstore.google.com/detail/x/fmbicfmfmangckllfaomfkhdankgapfk","warnings": [],"scrapedAt": "2026-06-21T14:19:12.056Z"}
Note: Replace
STORE_IDinsourceCode.downloadUrlwith your run's Key-Value Store ID from the Apify Console.
Combining search, category, and direct inputs
You can mix all input modes in a single run.
{"proxyCountry": "us","searchUrls": ["ai", "vpn"],"predefinedCategories": ["https://chromewebstore.google.com/category/extensions/productivity/tools"],"directExtensions": ["fmbicfmfmangckllfaomfkhdankgapfk"],"maxExtensionsPerSearch": 50,"maxExtensionsPerCategory": 50,"filterBy": "featured","fetchDetails": true,"fetchReviews": true,"maxReviews": 10}
- Each search and category input is processed independently, up to its respective maximum
- The same extension ID is deduplicated within a run — it is saved once even if it appears in multiple lists
- Use
sourceTypeandsourceUrlon each row to trace where it was discovered - If one list input fails, others can still complete
Free plan limits
On the Apify free plan, the Actor may automatically apply:
| Limit | Value |
|---|---|
| Search URLs / queries per run | 2 (only the first entries in your list) |
| Category URLs per run | 2 (only the first entries in your list) |
| Direct extensions per run | 5 |
| Source code downloads per run | 1 |
| Max extensions per search | 10 |
| Max extensions per category | 10 |
| Max reviews per extension | 5 |
Paid Apify plans can use the full input without these caps. If limits apply, the run log will include a short notice.
Data quality and limitations
Public store listing data
The Actor reads the same extension data shown on Chrome Web Store search, category, and detail pages. It does not access private publisher dashboards or unpublished listings.
Regional differences
Search results, category ordering, and available extensions depend on Request Country. Use the same country across runs when comparing results over time.
Filter behavior
Filter By and rating/user thresholds apply to search and category collection only. Direct extensions bypass list filters.
Partial list results
A category or search may return fewer extensions than your maximum because the store has no more matching pages, or because your filters excluded remaining listings. The run log will note when collection stops early.
Field coverage varies
Developer contact details, screenshots, privacy declarations, and reviews are not published for every extension. Some fields may be null or empty even when the extension is live on the store.
Source code availability
Source download depends on the extension being available as a CRX package from the store. Some extensions cannot be downloaded even when listed publicly.
Store changes over time
Extensions are updated, featured, and removed on the live store. Re-run on a schedule to track changes.
Compliance
You are responsible for using collected data in line with applicable laws and Google's Chrome Web Store terms.
Tips for best results
- Set Request Country first — Pick the region whose market you are researching before comparing runs.
- Start with small limits — Test with
10extensions per search/category before large exports. - Use keywords for quick searches — Enter plain terms like
aiorad blockerinstead of building URLs manually. - Use predefined categories — Faster than pasting full category URLs for common store sections.
- Enable details only when needed — Listing mode is faster; turn on Fetch Extension Details when you need developer contacts, manifest permissions, or screenshots.
- Deduplicate with
extensionId— The same extension can match both a search and a category; the Actor saves one row per ID per run. - Trace rows with
sourceUrl— Keep provenance fields when merging results from multiple inputs. - Schedule recurring runs — Monitor new extensions in a category or search over time.
- Export and filter in your tool of choice — Dataset exports to JSON, CSV, or Excel for analysis on
rating,userCount,featured, orcategory.
Frequently asked questions
Why do I get fewer extensions than my maximum?
The store may have no more matching listing pages, or your rating/user/Filter By settings excluded remaining rows. Check the run log for a partial-collection notice.
Why do results differ between runs?
Store listings change, and Request Country affects what is shown. Use the same country and inputs when comparing runs.
Why is longDescription empty on some rows?
Listing-only mode (fetchDetails: false) saves search/category summary fields. Enable Fetch Extension Details or add the extension as a Direct Extension for full detail pages.
Why are reviews empty?
Reviews are only fetched when Fetch Reviews is enabled and extension details are loaded. Check warnings on the row if review fetching failed.
Why is source code missing?
Source is downloaded only for extensions listed under Source Code Download. Some extensions cannot be packaged even when their store page is public.
Will the same extension appear twice from search and category?
It can be discovered from both inputs, but the Actor saves one row per extension ID per run.
Do direct extensions use my search filters?
No. Direct extension inputs ignore Filter By and rating/user thresholds.
What does featured mean on a row?
It reflects the store's featured flag on the listing at scrape time, subject to your Filter By setting for list inputs.
Support
For Actor-specific issues, use the Issues tab on the Apify store listing or contact the publisher through Apify.
For platform questions (runs, billing, API, schedules), see Apify documentation and Apify support.