SimilarWeb · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Similarweb REST API

6 actions 6 updates update extends openapi/_original/similarweb-rest-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for SimilarWeb's API. It is a proposal applied on top of the contract, not a document SimilarWeb publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-error-catalogx-apievangelist-enrichedx-api-version-generationx-legacy-sunsetx-conventionsx-lifecyclex-data-modelx-metering

Targets 4

$.info
$
$.components.securitySchemes.apiKeyHeader
$.paths.*.*.responses

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Similarweb REST API
  version: 1.0.0
extends: openapi/_original/similarweb-rest-api-openapi.yml
x-generated: '2026-08-13'
x-method: generated
x-source: >-
  Derived from the artifacts in this repo (conventions/, errors/, lifecycle/, rate-limits/,
  conformance/, mcp/) against the harvested REST specification. Applies our annotations
  without mutating the original document.
actions:
- target: $.info
  update:
    x-apievangelist-enriched: '2026-08-13'
    x-api-version-generation: v5
    x-legacy-sunset: '2026-10-06'
    x-error-catalog: errors/similarweb-problem-types.yml
    x-conventions: conventions/similarweb-conventions.yml
    x-lifecycle: lifecycle/similarweb-lifecycle.yml
    x-data-model: data-model/similarweb-data-model.yml

- target: $.info
  description: >-
    Record the metering model, which is not expressible in OpenAPI but is the dominant cost
    consideration for every call in this document.
  update:
    x-metering:
      model: data-credits
      formula: domains x endpoint price x granularity x country filters x historical range x results requested
      docs: https://docs.similarweb.com/api-v5/guides/data-credits-calculations
      dry_run_operation: validateRequest

- target: $
  description: >-
    Rate limiting is documented in prose only and is not signalled in any response header.
    Recorded at the document root so a client generator can surface it.
  update:
    x-rate-limit:
      requests_per_second: 10
      scope: api-key
      status_on_exhaustion: 429
      response_headers: []
      credits_consumed_on_429: false
      docs: https://developers.similarweb.com/docs/rate-limit

- target: $
  description: >-
    The agent surface Similarweb ships alongside this REST API. Not part of the OpenAPI
    contract, but it is what an agent will reach for first.
  update:
    x-mcp-server:
      url: https://mcp.similarweb.com
      mode: remote
      auth: [api-key, oauth2]
      manifest: mcp/similarweb-mcp.yml
      crosswalk: mcp/similarweb-tool-crosswalk.yml

- target: $.components.securitySchemes.apiKeyHeader
  description: >-
    Annotate how the key is obtained and governed, which the docs publish and the spec
    does not.
  update:
    x-key-management:
      issued_by: account administrators only
      console: https://account.similarweb.com/standard-api
      max_active_keys_per_user: 3
      expiry: none
      activation_required: true
      shared_across: [rest, batch]
      note: >-
        As of API V5 one key works for both REST and Batch; V4 required separate keys.

- target: $.paths.*.*.responses
  description: >-
    Every operation in this document declares only 200 and 400, but the provider documents
    401, 403 and 429 across the whole REST surface. Recorded as an annotation rather than
    injected responses, so the original contract is not misrepresented.
  update:
    x-undeclared-statuses: [401, 403, 429]
    x-error-catalog: errors/similarweb-problem-types.yml