API documentation
Public and customer APIs for ExtensionWatch. Base URLs, authentication, and rate limits will be confirmed when your environment is provisioned. This page tracks the intended contract for the marketing-site stats endpoint.
Base URL
Production and staging bases are issued with your account. The landing page reads the base from:
<meta name="extensionwatch-api-base" content="https://api.example.com">data-api-baseon<body>(overrides meta)- Query parameter
?apiBase=for testing
Versioning
Paths are versioned with a prefix, e.g. /v1/. Breaking changes will bump the major version where possible.
Authentication
Public stats (/v1/public/stats) may be unauthenticated or protected by API key / edge rules - final policy TBD. Customer datasets and write operations will require authentication (e.g. Bearer token or key header); details in your order documentation.
GET /v1/public/stats
Returns aggregated figures for the landing page. Example:
GET {base}/v1/public/stats
Accept: application/json
200 OK - JSON body (fields may be subset if not applicable):
{
"totalExtensions": 331470,
"chromeShare": 0.716,
"edgeShare": 0.089,
"firefoxShare": 0.195,
"monthlyGrowthPercent": 2.4,
"chromeWebStoreCount": 237476,
"edgeAddonsCount": 29508,
"firefoxAddonsCount": 64486,
"androidAppsCount": 2539806,
"androidGamesCount": 320975,
"newPerMonth": 12648,
"developerContacts": 96084,
"discoveries": [
{
"title": "string",
"storeLabel": "string",
"signal": "string",
"detail": "string"
}
]
}
chromeShare,edgeShare,firefoxShare: fractions 0-1 (browser extension totals excluding themes for the headline split).discoveries: optional; omit or return[]if not public.
Errors
Typical HTTP status codes: 400 bad request, 401/403 auth, 429 rate limit, 5xx server. Error bodies: TBD (JSON with code, message recommended).
Rate limits
Limits and Retry-After behavior will be documented per plan. Contact us for production quotas.
CORS
If the landing page calls the API from extensionwatch.org, the API must allow that origin (or serve via same-site proxy). Configure with your hosting / API gateway.
Support
Contact support for keys, SLAs, and additional endpoints.