Chrome extension research
Compare extensions against the requested features, adoption evidence, maintenance,
and access requirements. Separate observed store fields from developer claims and
conclusions that would require inspecting code or runtime behavior.
Setup
Set CRAWLORA_API_KEY to your key from crawlora.net.
Run the bundled scripts/crawlora.sh from this skill directory or by absolute
path. It sends x-api-key to https://api.crawlora.net/api/v1; keep the key in
the environment. Read reference/endpoints.md for
selected live Chrome Web Store and stored extension tools.
Compare current listings and observed changes
- Establish the user's feature requirements and comparison purpose. Discover
candidates with
/datasets/chrome-extensions/search, using
item_type=extension and status=active for current extensions. The dataset
also includes themes, legacy apps, and unknown types; do not mix them silently.
Discover category/filter values through dataset facets or live
/chromewebstore/categories, keeping their taxonomies distinct.
- Resolve the exact 32-character store ID, developer identity, and canonical URL.
Refresh selected candidates through
/chromewebstore/item?id=...; search and
similar-item results aid discovery but do not establish equivalent functionality.
- Retrieve
/datasets/chrome-extensions/items/{id} and /history/{id} under
the same dataset prefix. History is chronological and change-only, with
optional from/to dates and limit up to 1000. Missing calendar days are
not zero users or evidence that the extension was checked and unchanged.
- Inspect recent change observations with
/datasets/chrome-extensions/changes
and optional change_type. Attribute a change to its observation time, not
an exact transfer or release date. A changed developer label is not by itself
proof of ownership transfer; compare identity and website evidence.
- For access/privacy comparisons, use
/chromewebstore/permissions and
/chromewebstore/privacy with the same ID. Distinguish required from optional
API permissions and required from optional host permissions. A declaration
is not proof that every permission is currently granted or used; a privacy
statement is a developer disclosure, not an independent audit.
- Read a bounded live review sample, preserving dates, reviewed versions, and
collection filters. Tie claimed feature gaps to specific evidence. Separate
a sampled complaint from population prevalence and distinguish publisher
identity fields from a verified business relationship.
scripts/crawlora.sh /datasets/chrome-extensions/search \
q="tab manager" item_type=extension status=active page_size=5
# Resolve a returned ID before reading its live item, permissions, or history.
Output and interpretation
Return a comparison with store ID/link, verified feature evidence, dated user and
rating counts, current version, observed changes, access requirements, disclosures,
review themes, and missing evidence. Use Chrome's permission definitions
when explaining the access fields.
- Store user counts are adoption indicators, not revenue, active usage, or exact
install/uninstall flows. Dataset trending measures observed movement over its
available interval; compare matching observation windows.
- Broad permissions, removal, or publisher changes can justify investigation;
they do not independently prove malware. Low permissions or high ratings do
not independently prove safety. Do not install an extension merely to research it.
- Dataset pages max at 100 with a 10,000-result window. Bound enrichments to the
shortlist and stop at no progress or source end. Back off on
429, retry a
transient 5xx once, stop on 401/403, and
check application code. Keep failed refreshes labeled as stored observations.
1---2name: chrome-extension-research3description: Compare Chrome extensions using Crawlora's live store listings and stored adoption, publisher, permission, and privacy history. Use for extension shortlists, market comparisons, or investigating observed changes; store disclosures alone do not establish runtime safety.4---56# Chrome extension research78Compare extensions against the requested features, adoption evidence, maintenance,9and access requirements. Separate observed store fields from developer claims and10conclusions that would require inspecting code or runtime behavior.1112## Setup1314Set `CRAWLORA_API_KEY` to your key from [crawlora.net](https://crawlora.net).15Run the bundled `scripts/crawlora.sh` from this skill directory or by absolute16path. It sends `x-api-key` to `https://api.crawlora.net/api/v1`; keep the key in17the environment. Read [reference/endpoints.md](reference/endpoints.md) for18selected live Chrome Web Store and stored extension tools.1920## Compare current listings and observed changes21221. Establish the user's feature requirements and comparison purpose. Discover23 candidates with `/datasets/chrome-extensions/search`, using24 `item_type=extension` and `status=active` for current extensions. The dataset25 also includes themes, legacy apps, and unknown types; do not mix them silently.26 Discover category/filter values through dataset facets or live27 `/chromewebstore/categories`, keeping their taxonomies distinct.282. Resolve the exact 32-character store ID, developer identity, and canonical URL.29 Refresh selected candidates through `/chromewebstore/item?id=...`; search and30 similar-item results aid discovery but do not establish equivalent functionality.313. Retrieve `/datasets/chrome-extensions/items/{id}` and `/history/{id}` under32 the same dataset prefix. History is chronological and **change-only**, with33 optional `from`/`to` dates and `limit` up to 1000. Missing calendar days are34 not zero users or evidence that the extension was checked and unchanged.354. Inspect recent change observations with `/datasets/chrome-extensions/changes`36 and optional `change_type`. Attribute a change to its observation time, not37 an exact transfer or release date. A changed developer label is not by itself38 proof of ownership transfer; compare identity and website evidence.395. For access/privacy comparisons, use `/chromewebstore/permissions` and40 `/chromewebstore/privacy` with the same ID. Distinguish required from optional41 API permissions and required from optional host permissions. A declaration42 is not proof that every permission is currently granted or used; a privacy43 statement is a developer disclosure, not an independent audit.446. Read a bounded live review sample, preserving dates, reviewed versions, and45 collection filters. Tie claimed feature gaps to specific evidence. Separate46 a sampled complaint from population prevalence and distinguish publisher47 identity fields from a verified business relationship.4849```sh50scripts/crawlora.sh /datasets/chrome-extensions/search \51 q="tab manager" item_type=extension status=active page_size=552# Resolve a returned ID before reading its live item, permissions, or history.53```5455## Output and interpretation5657Return a comparison with store ID/link, verified feature evidence, dated user and58rating counts, current version, observed changes, access requirements, disclosures,59review themes, and missing evidence. Use [Chrome's permission definitions](https://developer.chrome.com/docs/extensions/develop/concepts/declare-permissions)60when explaining the access fields.6162- Store user counts are adoption indicators, not revenue, active usage, or exact63 install/uninstall flows. Dataset trending measures observed movement over its64 available interval; compare matching observation windows.65- Broad permissions, removal, or publisher changes can justify investigation;66 they do not independently prove malware. Low permissions or high ratings do67 not independently prove safety. Do not install an extension merely to research it.68- Dataset pages max at 100 with a 10,000-result window. Bound enrichments to the69 shortlist and stop at no progress or source end. Back off on `429`, retry a70 transient `5xx` once, stop on `401`/`403`, and71 check application `code`. Keep failed refreshes labeled as stored observations.