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

  1. Confirm the storeId resolves to a live extension page on the Chrome Web Store with a visible version
  2. Retry later in case of transient upstream or scraping issues
  3. Check the storeId for typos (it is a 32-char lowercase hex string)
  4. 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

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


AI-assisted analysis of badges/shields@766fd8bc89 (2026-08-30). Data as JSON: /api/errors/67f00e55054d996a. Report an issue: GitHub.