extractr docs

Providers

How the catalog is organised and versioned.

extractr groups endpoints by provider — the data source they scrape. Spotify, Facebook, Finance, Restaurants and Steam are live today; the catalog grows without breaking existing integrations.

Route grammar

Every data endpoint follows the same pattern:

https://api.extractr.dev/{provider}/{endpoint}

For example /spotify/get_track, /finance/quote, /steam/player_count. Endpoint slugs are verbs or nouns scoped to their provider — the full, current list is always in the API reference sidebar and the catalog endpoint below.

The catalog endpoint

GET /catalog is public (no key, no credits) and returns every provider and endpoint with its live credit price:

curl https://api.extractr.dev/catalog
{
  "providers": [
    {
      "id": "spotify",
      "name": "Spotify",
      "category": "music",
      "description": "…",
      "endpoints": [
        {
          "name": "get_track",
          "method": "GET",
          "path": "/spotify/get_track",
          "description": "…",
          "credits": 2
        }
      ]
    }
  ],
  "totalEndpoints": 20
}

Use it to discover endpoints programmatically, or to display live pricing in your own tooling — it's generated from the same manifests that drive billing, so it can't drift.

Versioning philosophy

There is no global API version. Endpoints are versioned individually:

  • Additive changes ship in place. New optional response fields or new optional parameters can appear on an existing endpoint at any time. Write tolerant parsers.
  • Breaking changes ship as a new endpoint. If a response shape must change incompatibly, we publish a new slug (e.g. get_track_v2) and keep the old one running.
  • Deprecations are announced. Deprecated endpoints are flagged in the catalog and OpenAPI spec well before removal, with a migration note in the docs.

This keeps integrations stable per endpoint: the contract you built against does not change under you.

Requesting a provider

Missing a source you need? The catalog is designed to grow — tell us what to scrape next at [email protected].

On this page