Datasets API endpoint
Returns the stored record of one Chrome Web Store extension, theme or app by its 32-character `id`. It has name, `item_type`, category, users, rating, version, developer and disclosed email, declared permissions, host access flags, privacy disclosures and screenshots, taken from the latest observation.
/datasets/chrome-extensions/items/{id}id is the item's 32-character Chrome Web Store identifier. The response combines store metadata, adoption metrics, displayed developer name and disclosed developer email, declared permissions, host access and public privacy disclosures from the latest stored observation. item_type is one of extension, theme, app, or unknown.
| Field | In the sample | Value in the sample |
|---|---|---|
| id | Has a value | |
| name | Has a value | |
| summary | Has a value | |
| description | Has a value | 825 characters |
| item_type | Has a value | |
| category | Has a value | |
| developer | Has a value | |
| developer_email | Has a value | |
| url | Has a value | chromewebstore.google.com |
| icon | Has a value | lh3.googleusercontent.com |
| screenshots | Has a value | 5 entries |
| rating | Has a value | 4.04 |
| rating_count | Has a value | 379 |
| users | Has a value | 7,000,000 |
| version | Has a value | |
| updated | Has a value | 2025-05-28 |
| size | Has a value | |
| min_browser_version | Has a value | |
| manifest_version | Has a value | |
| permissions | Has a value | 4 entries |
| optional_permissions | Has a value | 2 entries |
| host_permissions | Has a value | 1 entry |
| optional_host_permissions | Empty | |
| all_permissions | Has a value | 7 entries |
| has_broad_host_access | Has a value | true |
| collects_data | Has a value | true |
| data_collected | Has a value | 6 entries |
| privacy_declarations | Has a value | 3 entries |
| privacy_policy | Has a value | clarivate.com |
| status | Has a value | |
| first_seen | Has a value | 2026-07-13 |
| last_seen | Has a value | 2026-10-11 |
| last_crawled_at | Has a value | 2026-10-11 |
| users_delta | Has a value | 0 |
| rating_count_delta | Has a value | 0 |
| trend_score | Has a value | 0 |
| not_found_streak | Has a value | 0 |
| blank_identity_streak | Has a value | 0 |
| schema_version | Has a value |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | Chrome Web Store item id | cjpalhdlnbpafiamejdnhcphjbkeiagm | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/chrome-extensions/items/cjpalhdlnbpafiamejdnhcphjbkeiagm" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "cjpalhdlnbpafiamejdnhcphjbkeiagm",
"name": "uBlock Origin",
"item_type": "extension",
"users": 13000000,
"permissions": [
"storage"
],
"has_broad_host_access": true,
"status": "active"
}
}Request schema
No body schema
Response schema
#/definitions/datasets.chromeExtensionItemResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | es.ChromeExtensionRecord | No | ||||
| data.all_permissions | array | No | Every permission and site pattern from the four permission lists, without duplicates. | |||
| data.blank_identity_streak | integer | No | BlankIdentityStreak counts complete, ID-matching item payloads whose card title and literal manifest name are both unavailable. It is distinct from NotFoundStreak: malformed payloads are upstream errors and never update it. No omitempty: a valid active snapshot must reset it through partial upsert. | |||
| data.category | string | No | Store category of the item. | |||
| data.collects_data | boolean | No | Whether the store listing says the item collects user data. | |||
| data.data_collected | array | No | Categories of user data the developer says the item collects. | |||
| data.description | string | No | Full description from the store listing. | |||
| data.developer | string | No | Name of the item's developer as shown on the store listing. | |||
| data.developer_email | string | No | Developer contact email disclosed on the store listing, in lowercase. | |||
| data.discovery_sources | array | No | DiscoverySources lists the public catalogs that supplied this extension ID. | |||
| data.first_seen | string | No | Time the item was first recorded in the dataset, in UTC (RFC 3339). | |||
| data.has_broad_host_access | boolean | No | Whether the extension can reach all sites, for example through `<all_urls>`. | |||
| data.host_permissions | array | No | Site patterns the extension requests access to when installed. | |||
| data.icon | string | No | URL of the item's icon. | |||
| data.id | string | No | Chrome Web Store item id. Use it with the item endpoint. | |||
| data.item_type | string | No | Kind of item: `extension`, `theme`, `app` or `unknown`. | |||
| data.last_crawled_at | string | No | Time the item's data was last fetched, in UTC (RFC 3339). | |||
| data.last_seen | string | No | Time the item was last seen on the store, in UTC (RFC 3339). | |||
| data.manifest_version | integer | No | Manifest version of the extension: `2` or `3`. | |||
| data.min_browser_version | string | No | Minimum browser version the item requires. | |||
| data.name | string | No | Item name as shown on its store listing. | |||
| data.not_found_streak | integer | No | NotFoundStreak counts consecutive crawls that returned not-found for an otherwise-active item. Removal is only confirmed once it reaches the worker's threshold, so a transient upstream block does not delist a live item. No omitempty: a successful crawl must write 0 to reset the streak through the partial-merge upsert. | |||
| data.optional_host_permissions | array | No | Site patterns the extension may ask for access to later. | |||
| data.optional_permissions | array | No | Permissions the extension may ask for later. | |||
| data.permissions | array | No | List of permissions the extension requests when installed. | |||
| data.privacy_declarations | array | No | Privacy commitments the developer declares on the store listing. | |||
| data.privacy_policy | string | No | Link to the developer's privacy policy. | |||
| data.rating | number | No | Average user rating shown on the store listing. | |||
| data.rating_count | integer | No | Number of ratings behind the average rating. | |||
| data.rating_count_delta | integer | No | Change in `rating_count` since the previous observation. | |||
| data.schema_version | integer | No | Version of the record layout. | |||
| data.screenshots | array | No | URLs of the screenshots on the store listing. | |||
| data.size | string | No | Package size of the item as the store shows it. | |||
| data.status | string | No | Whether the item is still on the store: `active` or `removed`. | |||
| data.summary | string | No | Short summary shown at the top of the store listing. | |||
| data.trend_score | number | No | Score for ranking trending items, built from `users_delta` and `rating_count_delta`. | |||
| data.updated | string | No | Date the item was last updated on the store (YYYY-MM-DD). | |||
| data.url | string | No | Link to the item's store listing. | |||
| data.users | integer | No | Number of users shown on the store listing. | |||
| data.users_delta | integer | No | Change in `users` since the previous observation. | |||
| data.version | string | No | Current version of the item. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/datasets/chrome-extensions/items/cjpalhdlnbpafiamejdnhcphjbkeiagm" \
-H "x-api-key: $CRAWLORA_API_KEY"