canonical: https://jentic.com/apis/extpose.com/extpose

# Extpose

Extpose is an in-store performance analytics and optimisation tool for Chrome extensions, helping publishers track impressions, installs, ratings, and rankings in the Chrome Web Store. This OpenAPI spec covers the public read surface: a single GET /user-extensions endpoint that returns the extensions associated with the authenticated Extpose account along with their tracked metrics. Authentication is by API key passed as the X-API-Key header.

## For AI agents

Retrieve the Chrome extensions an Extpose account is tracking and their associated Chrome Web Store performance metrics through a single API-key-authenticated endpoint.

## Scope

Does not handle extension publishing, in-extension event analytics, or store-listing edits - use for retrieving the authenticated user's tracked Chrome extensions and Extpose metrics only.

## Capabilities

- List the Chrome extensions associated with the authenticated Extpose account
- Read tracked Chrome Web Store metrics for each extension Extpose monitors
- Pull extension identifiers usable for cross-referencing with the Chrome Web Store
- Authenticate per request with a single API key in the X-API-Key header
- Drive scheduled reporting jobs without scraping the Extpose dashboard

## Use cases

### Weekly Chrome Extension Performance Report

Call GET /user-extensions on a schedule to pull the current Chrome Web Store metrics Extpose is tracking for your account, then format them into a weekly report. This avoids scraping the Extpose dashboard and gives a publisher a programmatic view of their extension portfolio's performance over time.

Example prompt: Call GET /user-extensions, take the returned list of extensions and their metrics, and append them to a weekly performance spreadsheet.

### Extension Portfolio Dashboard

An internal dashboard for a Chrome extension publisher can call GET /user-extensions to populate cards showing each extension's current installs, ratings, and ranking. Because Extpose is the source of the tracked metrics, this gives the dashboard a single source of truth without integrating directly with the Chrome Web Store.

Example prompt: Call GET /user-extensions and render one card per extension showing installs, average rating, and last-updated date.

### Cross-Referencing With Chrome Web Store

Use GET /user-extensions to obtain the Chrome Web Store identifiers Extpose is tracking and feed them into a separate Chrome Web Store data source for cross-validation. This is useful for catching discrepancies between Extpose's tracked snapshot and live store data.

Example prompt: Call GET /user-extensions to get the IDs, then look up each ID against an independent Chrome Web Store source and flag any divergence in install count.

### AI Reporting Agent via Jentic

An AI assistant set up to brief a Chrome extension publisher each Monday uses Jentic to call GET /user-extensions, summarise the result, and post the summary to the publisher's chat tool. The Extpose API key sits in your Jentic One instance and is injected as X-API-Key per call.

Example prompt: Through Jentic, search 'list extpose user extensions', load GET /user-extensions, execute it, and have the agent summarise the result for the weekly briefing.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/user-extensions` | List the user's tracked extensions with metrics |

## Key resources

- **User Extensions** — The Chrome extensions tracked by the authenticated Extpose account and their metrics

## Why Jentic

- **Setup:** Wiring Extpose by hand means registering its X-API-Key scheme, setting the extpose.com/api/v1 host, and adding the header to every call yourself. Through Jentic you install once, import Extpose from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** Extpose here exposes a single read operation, GET /user-extensions, so you limit the agent to the operations it needs: it can retrieve the authenticated user's tracked Chrome extensions and metrics and nothing else. Because you choose the operations, the agent only ever reads.
- **Credential handling:** Your Extpose API key is stored once, encrypted, by your own Jentic One instance and injected as the X-API-Key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list my Extpose tracked extensions', and Jentic returns the GET /user-extensions operation with its response schema so the agent calls the right endpoint without browsing the extpose.com docs.

## Related APIs

- **Chrome Management API** — The Chrome Management API is Google's enterprise-side surface for Chrome browsers and extensions
- **Google Analytics Data API** — GA4 tracks behaviour inside an extension's hosted pages alongside Extpose's store-side metrics
- **Mailchimp Marketing API** — Mailchimp delivers the email side of an extension publisher's user lifecycle

## FAQ

### What authentication does the Extpose API use?

The Extpose API uses an API key passed as the X-API-Key header. Keys are issued from the Extpose dashboard and scoped to a single Extpose account. Through Jentic, the key sits in the encrypted vault and is injected per call so it never appears in agent prompts or logs.

### What does GET /user-extensions return?

It returns the list of Chrome extensions associated with the authenticated Extpose account along with the metrics Extpose tracks for each (such as installs, ratings, and rankings). The exact fields are defined by the response schema in the spec; treat that schema as the source of truth.

### Can I add or modify extensions through this API?

No. This spec exposes a single read endpoint, GET /user-extensions. Extension onboarding and configuration is done in the Extpose web app; the API is for retrieving tracked data only.

### How often should I poll GET /user-extensions?

Extpose updates Chrome Web Store metrics on a regular cadence (typically daily). Polling more frequently than once per hour is rarely useful and risks 429 responses; prefer a daily or hourly cron driven by your reporting cadence.

### How do I pull my extension stats through Jentic?

Run pip install jentic, then search 'list extpose user extensions', load the GET /user-extensions operation, and execute it. Jentic injects the X-API-Key header at execution time and returns the parsed response.

### What are the rate limits for the Extpose API?

Rate limits are not declared in this spec. Extpose applies per-account limits in production; treat 429 responses as authoritative and back off using any Retry-After header returned. For high-frequency dashboards, cache responses on your side.

### Can I limit what my agent is allowed to do with the Extpose API?

Yes. Because you run Jentic One yourself, your own rules decide which Extpose operations and credentials the agent may use. This spec exposes a single read operation, GET /user-extensions, so you can scope the agent to just that call, letting it retrieve the authenticated account's tracked Chrome extensions and their metrics and nothing else. Your Extpose API key is held by your own instance and injected as the X-API-Key header at execution time, so the agent only ever reads and never sees the raw key.
