{
  "asOf": "2026-11-05",
  "capabilities": [
    {
      "evidence": [
        {
          "quote": "Force a refresh if the product's last update is older than specified hours.",
          "source": "docs-product"
        }
      ],
      "fields": [
        "rating",
        "buybox_price",
        "buybox_seller",
        "sales_rank"
      ],
      "note": "Served from Keepa's own database, not live scraping. Data is refreshed on request when the last update is older than the update window (default 1 hour). Fields are inferred from the documented parameters (rating, buybox, salesRanks); the pages read did not list every output field.",
      "product": "keepa-api",
      "requestType": "product",
      "retailer": "amazon-us",
      "support": "full"
    },
    {
      "evidence": [
        {
          "quote": "Accepts values from 20 to 100. Cost depends on offer pages found, not the number requested.",
          "source": "docs-product"
        }
      ],
      "note": "Live offers via the offers parameter (20 to 100), up to 10 offers per page; requests take 2 to 20 seconds.",
      "product": "keepa-api",
      "requestType": "offers",
      "retailer": "amazon-us",
      "support": "full"
    },
    {
      "evidence": [
        {
          "quote": "Product Search: 10 tokens per search, returning up to 20 results",
          "source": "docs-overview"
        }
      ],
      "note": "Product Search returns up to 20 results per search. Product Finder (10 tokens plus 1 per 100 ASINs) and Browsing Deals (5 tokens, up to 150 deals) also exist but have no request type here.",
      "product": "keepa-api",
      "requestType": "search",
      "retailer": "amazon-us",
      "support": "full"
    },
    {
      "evidence": [
        {
          "quote": "Best Sellers: 50 tokens per request",
          "source": "docs-overview"
        }
      ],
      "product": "keepa-api",
      "requestType": "bestsellers",
      "retailer": "amazon-us",
      "support": "full"
    },
    {
      "evidence": [
        {
          "quote": "1 (seller object) + 9 (storefront data) = 10 tokens",
          "source": "docs-seller"
        }
      ],
      "note": "Output fields not confirmed from the pages read; storefront data is optional.",
      "product": "keepa-api",
      "requestType": "seller",
      "retailer": "amazon-us",
      "support": "full"
    },
    {
      "evidence": [
        {
          "quote": "`days`: limits historical data to the last X days; no token cost",
          "source": "docs-product"
        }
      ],
      "fields": [
        "price_series",
        "sales_rank_series",
        "offer_count_series"
      ],
      "note": "The days parameter limits history to the last X days; history=0 removes it. Maximum history depth is not stated on the pages read.",
      "product": "keepa-api",
      "requestType": "history",
      "retailer": "amazon-us",
      "support": "full"
    }
  ],
  "category": "data_api",
  "costRules": [
    {
      "billedOn": "attempt",
      "evidence": [
        {
          "quote": "1 token per requested product, even if the ASIN or code doesn't exist",
          "source": "docs-product"
        }
      ],
      "modifiers": "Basic product request, 1 token per ASIN even if it does not exist. Optional extras: rating=1 up to +1, buybox=1 +2, stock=1 +2 under conditions.",
      "product": "keepa-api",
      "requestType": "product",
      "retailer": "amazon-us",
      "unit": "token",
      "units": 1
    },
    {
      "billedOn": "attempt",
      "evidence": [
        {
          "quote": "6 tokens per product, replacing the basic 1-token cost (per found offer page, up to 10 offers)",
          "source": "docs-product"
        }
      ],
      "modifiers": "Docs list 6 tokens per found offer page (up to 10 offers), replacing the 1 token base. 5 tokens if no offer page is found. Cost depends on pages found, so a product with more than 10 offers costs 12 or more.",
      "product": "keepa-api",
      "requestType": "offers",
      "retailer": "amazon-us",
      "unit": "token",
      "units": 6
    },
    {
      "billedOn": "attempt",
      "evidence": [
        {
          "quote": "Product Search: 10 tokens per search, returning up to 20 results",
          "source": "docs-overview"
        }
      ],
      "modifiers": "Product Search by keyword: 10 tokens per search, up to 20 results.",
      "product": "keepa-api",
      "requestType": "search",
      "retailer": "amazon-us",
      "unit": "token",
      "units": 10
    },
    {
      "billedOn": "attempt",
      "evidence": [
        {
          "quote": "Best Sellers: 50 tokens per request",
          "source": "docs-overview"
        }
      ],
      "modifiers": "Best Sellers list: 50 tokens per request.",
      "product": "keepa-api",
      "requestType": "bestsellers",
      "retailer": "amazon-us",
      "unit": "token",
      "units": 50
    },
    {
      "billedOn": "attempt",
      "evidence": [
        {
          "quote": "1 (seller object) + 9 (storefront data) = 10 tokens",
          "source": "docs-seller"
        }
      ],
      "modifiers": "1 token for the seller object; 10 tokens with storefront=1 when the storefront has at least 2 ASINs (1 + 9).",
      "product": "keepa-api",
      "requestType": "seller",
      "retailer": "amazon-us",
      "unit": "token",
      "units": {
        "max": 10,
        "min": 1
      }
    },
    {
      "billedOn": "attempt",
      "evidence": [
        {
          "quote": "`stats`, `history`, `days`, `code-limit`, `only-live-offers`, `videos`, `aplus`: no extra cost",
          "source": "docs-product"
        }
      ],
      "modifiers": "History (price, sales rank, offer count) comes with the basic product request; the history, stats and days parameters add no tokens.",
      "product": "keepa-api",
      "requestType": "history",
      "retailer": "amazon-us",
      "unit": "token",
      "units": 1
    }
  ],
  "homepage": "https://keepa.com",
  "id": "keepa",
  "name": "Keepa API",
  "notes": [
    "Reads Keepa's own Amazon database rather than scraping live; data is refreshed when older than the update window (default 1 hour).",
    "Plans can be held in parallel; all subscriptions are active at the same time and share one API key.",
    "No reviews endpoint."
  ],
  "plans": [
    {
      "billing": "token_rate",
      "currency": "EUR",
      "evidence": [
        {
          "quote": "20 tokens per minute: €49",
          "source": "revenuegeeks"
        },
        {
          "quote": "Keepa's API plans are all billed monthly in advance",
          "source": "plans-tokens"
        },
        {
          "quote": "All subscriptions will be active simultaneously",
          "source": "plans-tokens"
        }
      ],
      "expiry": {
        "kind": "minutes",
        "note": "Unused tokens expire 60 minutes after they are generated; the bucket holds at most rate x 60 tokens, so there is no monthly pool.",
        "value": 60
      },
      "id": "t20-starter",
      "included": null,
      "name": "Starter (20 tokens/min)",
      "notes": [
        "Bucket capacity 1200 tokens.",
        "Price is from a third-party summary (revenuegeeks); keepa.com/api/pricing is not readable without JavaScript. Keepa also sells custom token rates between tiers via a slider.",
        "Billed monthly in advance; upgrades are prorated, downgrades allowed once per 28 days. Keepa states it does not offer discounts."
      ],
      "price": 49,
      "selfServe": true,
      "stackable": true,
      "tokensPerMinute": 20,
      "unit": "token"
    },
    {
      "billing": "token_rate",
      "currency": "EUR",
      "evidence": [
        {
          "quote": "60 tokens per minute: €129",
          "source": "revenuegeeks"
        },
        {
          "quote": "Keepa's API plans are all billed monthly in advance",
          "source": "plans-tokens"
        },
        {
          "quote": "All subscriptions will be active simultaneously",
          "source": "plans-tokens"
        }
      ],
      "expiry": {
        "kind": "minutes",
        "note": "Unused tokens expire 60 minutes after they are generated; the bucket holds at most rate x 60 tokens, so there is no monthly pool.",
        "value": 60
      },
      "id": "t60-60",
      "included": null,
      "name": "60 tokens/min (60 tokens/min)",
      "notes": [
        "Bucket capacity 3600 tokens.",
        "Price is from a third-party summary (revenuegeeks); keepa.com/api/pricing is not readable without JavaScript. Keepa also sells custom token rates between tiers via a slider.",
        "Billed monthly in advance; upgrades are prorated, downgrades allowed once per 28 days. Keepa states it does not offer discounts."
      ],
      "price": 129,
      "selfServe": true,
      "stackable": true,
      "tokensPerMinute": 60,
      "unit": "token"
    },
    {
      "billing": "token_rate",
      "currency": "EUR",
      "evidence": [
        {
          "quote": "250 tokens per minute: €459",
          "source": "revenuegeeks"
        },
        {
          "quote": "Keepa's API plans are all billed monthly in advance",
          "source": "plans-tokens"
        },
        {
          "quote": "All subscriptions will be active simultaneously",
          "source": "plans-tokens"
        }
      ],
      "expiry": {
        "kind": "minutes",
        "note": "Unused tokens expire 60 minutes after they are generated; the bucket holds at most rate x 60 tokens, so there is no monthly pool.",
        "value": 60
      },
      "id": "t250-developer",
      "included": null,
      "name": "Developer (250 tokens/min)",
      "notes": [
        "Bucket capacity 15000 tokens.",
        "Price is from a third-party summary (revenuegeeks); keepa.com/api/pricing is not readable without JavaScript. Keepa also sells custom token rates between tiers via a slider.",
        "Billed monthly in advance; upgrades are prorated, downgrades allowed once per 28 days. Keepa states it does not offer discounts."
      ],
      "price": 459,
      "selfServe": true,
      "stackable": true,
      "tokensPerMinute": 250,
      "unit": "token"
    },
    {
      "billing": "token_rate",
      "currency": "EUR",
      "evidence": [
        {
          "quote": "500 tokens per minute: €879",
          "source": "revenuegeeks"
        },
        {
          "quote": "Keepa's API plans are all billed monthly in advance",
          "source": "plans-tokens"
        },
        {
          "quote": "All subscriptions will be active simultaneously",
          "source": "plans-tokens"
        }
      ],
      "expiry": {
        "kind": "minutes",
        "note": "Unused tokens expire 60 minutes after they are generated; the bucket holds at most rate x 60 tokens, so there is no monthly pool.",
        "value": 60
      },
      "id": "t500-500",
      "included": null,
      "name": "500 tokens/min (500 tokens/min)",
      "notes": [
        "Bucket capacity 30000 tokens.",
        "Price is from a third-party summary (revenuegeeks); keepa.com/api/pricing is not readable without JavaScript. Keepa also sells custom token rates between tiers via a slider.",
        "Billed monthly in advance; upgrades are prorated, downgrades allowed once per 28 days. Keepa states it does not offer discounts."
      ],
      "price": 879,
      "selfServe": true,
      "stackable": true,
      "tokensPerMinute": 500,
      "unit": "token"
    },
    {
      "billing": "token_rate",
      "currency": "EUR",
      "evidence": [
        {
          "quote": "2000 tokens per minute: €2499",
          "source": "revenuegeeks"
        },
        {
          "quote": "Keepa's API plans are all billed monthly in advance",
          "source": "plans-tokens"
        },
        {
          "quote": "All subscriptions will be active simultaneously",
          "source": "plans-tokens"
        }
      ],
      "expiry": {
        "kind": "minutes",
        "note": "Unused tokens expire 60 minutes after they are generated; the bucket holds at most rate x 60 tokens, so there is no monthly pool.",
        "value": 60
      },
      "id": "t2000-business",
      "included": null,
      "name": "Business (2000 tokens/min)",
      "notes": [
        "Bucket capacity 120000 tokens.",
        "Price is from a third-party summary (revenuegeeks); keepa.com/api/pricing is not readable without JavaScript. Keepa also sells custom token rates between tiers via a slider.",
        "Billed monthly in advance; upgrades are prorated, downgrades allowed once per 28 days. Keepa states it does not offer discounts."
      ],
      "price": 2499,
      "selfServe": true,
      "stackable": true,
      "tokensPerMinute": 2000,
      "unit": "token"
    },
    {
      "billing": "token_rate",
      "currency": "EUR",
      "evidence": [
        {
          "quote": "10000 tokens per minute: €11099",
          "source": "revenuegeeks"
        },
        {
          "quote": "Keepa's API plans are all billed monthly in advance",
          "source": "plans-tokens"
        },
        {
          "quote": "All subscriptions will be active simultaneously",
          "source": "plans-tokens"
        }
      ],
      "expiry": {
        "kind": "minutes",
        "note": "Unused tokens expire 60 minutes after they are generated; the bucket holds at most rate x 60 tokens, so there is no monthly pool.",
        "value": 60
      },
      "id": "t10000-enterprise",
      "included": null,
      "name": "Enterprise (10000 tokens/min)",
      "notes": [
        "Bucket capacity 600000 tokens.",
        "Price is from a third-party summary (revenuegeeks); keepa.com/api/pricing is not readable without JavaScript. Keepa also sells custom token rates between tiers via a slider.",
        "Billed monthly in advance; upgrades are prorated, downgrades allowed once per 28 days. Keepa states it does not offer discounts."
      ],
      "price": 11099,
      "selfServe": true,
      "stackable": true,
      "tokensPerMinute": 10000,
      "unit": "token"
    }
  ],
  "products": [
    {
      "docsUrl": "https://keepa.com/api-docs/",
      "id": "keepa-api",
      "name": "Keepa API",
      "output": "parsed_json"
    }
  ],
  "schema": 1,
  "sources": [
    {
      "id": "plans-tokens",
      "kind": "docs",
      "method": "manual",
      "retrieved": "2026-11-05",
      "url": "https://keepa.com/api-docs/plans-tokens.html"
    },
    {
      "id": "docs-overview",
      "kind": "docs",
      "method": "manual",
      "retrieved": "2026-11-05",
      "url": "https://keepa.com/api-docs/"
    },
    {
      "id": "docs-product",
      "kind": "docs",
      "method": "manual",
      "retrieved": "2026-11-05",
      "url": "https://keepa.com/api-docs/product.html"
    },
    {
      "id": "docs-seller",
      "kind": "docs",
      "method": "manual",
      "retrieved": "2026-11-05",
      "url": "https://keepa.com/api-docs/seller.html"
    },
    {
      "id": "revenuegeeks",
      "kind": "third_party",
      "method": "manual",
      "retrieved": "2026-11-05",
      "url": "https://revenuegeeks.com/software/keepa/api"
    }
  ],
  "status": "active"
}