badges/shields · error · NotFound
not found
Error message
not found
What it means
The Chrome Web Store version badge throws NotFound with 'not found' when the scraped extension page exposes no version string (chromeWebStore.version() is null). This signals the extension could not be resolved on the Chrome Web Store.
Source
Thrown at services/chrome-web-store/chrome-web-store-version.service.js:30
'/chrome-web-store/v/{storeId}': {
get: {
summary: 'Chrome Web Store Version',
description,
parameters: pathParams({
name: 'storeId',
example: 'ogffaloegjglncjfehdfplabnoondfjo',
}),
},
},
}
static defaultBadgeData = { label: 'chrome web store' }
async handle({ storeId }) {
const chromeWebStore = await this.fetch({ storeId })
const version = chromeWebStore.version()
if (version == null) {
throw new NotFound({ prettyMessage: 'not found' })
}
return renderVersionBadge({ version })
}
}
View on GitHub (pinned to 766fd8bc89)
Solutions
- Confirm the storeId resolves to a live extension page on the Chrome Web Store with a visible version
- Retry later in case of transient upstream or scraping issues
- Check the storeId for typos (it is a 32-char lowercase hex string)
- Open an issue with the badge service if the extension clearly shows a version but the badge says not found
Example fix
// before /badge/chrome-web-store/v/does-not-exist // after /badge/chrome-web-store/v/nkemmklpomlogoijgonofhndcffbppgb
Defensive patterns
Strategy: validation
Validate before calling
const STORE_ID_RE = /^[a-p]{32}$/;
if (!STORE_ID_RE.test(storeId)) throw new Error(`invalid storeId: ${storeId}`); Type guard
function hasVersion(page) { return page != null && typeof page.version === 'function' && page.version() != null; } Try / catch
try {
const badge = await fetchBadge(`/chrome-web-store/v/${storeId}`);
} catch (e) {
if (e.status === 404) console.warn(`no version available for ${storeId}`);
else throw e;
} Prevention
- Confirm the extension page is live and displays a version before adding the badge
- Watch for Chrome Web Store markup changes that break scraping
- Use the exact storeId from the extension's URL
- Keep a fallback badge or link if the extension gets unpublished
When it happens
Trigger: Requesting a chrome-web-store version badge with a storeId for an extension that does not exist, was unpublished, or whose page scrape returns no version field.
Common situations: Wrong storeId, extension removed from the store, unlisted extensions, or Chrome Web Store HTML changes that make the version unparseable.
Understand the failure class
Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.
Related errors
- not found
- not found
- no jobs found
- unknown type, provider, or upstream issue
- artifact or ${versionType}version not found
AI-assisted analysis of badges/shields@766fd8bc89 (2026-08-30).
Data as JSON: /api/errors/67f00e55054d996a.
Report an issue: GitHub.