Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Card Ladder API page →
E-commerce & Marketplaces

Card Ladder API & Scraper

The Card Ladder API turns cardladder.com into JSON in eleven actions.

11 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

search finds cards in Card Ladder's database (basketball, baseball, football, hockey, soccer, Pokémon, One Piece, Magic, Yu-Gi-Oh! and 20 more categories), filtered by category, exact condition (Raw, PSA 10, BGS 9.5, SGC 10 and 222 more), grading company, player, year, value, last sold price and population, and sorted by value, sales, pop, market cap, ladder score, date or % change. Each row is one card in one grade with Card Ladder's CL Value, the last sold price and date, the number of recorded sales, the population, the market cap and the 1-day to 1-year change. card returns one card in full: the CL Value with its confidence, all-time high, ROI, oldest and newest sale, last-month and last-year high, low and average, the PSA pop link, the cert, the value of every other grade of the same card, similar cards, active listings and the complete per-day sales history back to the card's first recorded sale. card_price_history and card_grades return the history (with a date range) and the grade ladder on their own. listings searches the active listings Card Ladder tracks on eBay, Fanatics, Goldin, Heritage, MySlabs and more. players, player, indexes and index return the player indexes and the 40 Card Ladder market indexes with their full history and constituent cards, ladder returns the trending cards, and daily_sales_recap the nightly Daily Sales Recap. Values are in US dollars. One ReefAPI key, the standard { ok, data, meta, error } envelope, no Card Ladder account.

Reference

Which Card Ladder number is which

Card Ladder publishes several values per card; they answer different questions. Field names as the API returns them, measured 2026-10-15.

fieldwhat it isexample (1984 Star Michael Jordan #101 PSA 7)
cl_valueCard Ladder's estimated value of the card in this grade169,465.92
last_sold_price / last_sold_dateThe most recent recorded sale170,000.00 on 2026-10-07
num_salesSales Card Ladder has recorded for this card and grade89
popGraded population of this grade166
market_cappop × value28,131,342.22
ladder_scoreGrowth over the last 2 weeks (the ladder's sort)3,762.2
…_change_pctChange as a fraction: 0.327 = +32.7 %monthly 0.327
price_history[].avg_priceAverage sale price on that day (sales_count sales)28,800.00 on 2022-08-18

Every card row is one grade of one card; card_grades lists the other grades of the same card with their own CL Value (21 for this Jordan rookie). Player rows carry key_card_value, the CL Value of the player's key card, and index_value, the level of the player index.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/cardladder/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "luka doncic prizm",
    "condition": "PSA 10"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "cardladder",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 990.5,
    "record_count": 20,
    "bytes": 28447,
    "cache_hit": false,
    "total": 53,
    "total_is_capped": false,
    "page": 1,
    "limit": 20,
    "has_more": true,
    "partial": false,
    "filters_applied": {
      "query": "luka doncic prizm",
      "condition": "PSA 10",
      "sort": "relevance"
    },
    "upstream_requests": 1,
    "warnings": [],
    "currency": "USD",
    "charged_credits": 2,
    "version": "1.0.0",
    "request_id": "2708084e723d4f05",
    "queue_ms": 1.1,
    "fetched_at": "2026-10-15T13:28:22.465Z"
  },
  "data": {
    "rows": [
      {
        "card_id": "QDWKiTWGa2YfBHj2TuWs",
        "slug": "2019-prizm-luka-doncic-base-75-psa-10",
        "label": "2019 Prizm Luka Doncic Base #75 PSA 10",
        "year": "2019",
        "set": "Prizm",
        "number": "75",
        "variation": "Base",
        "player": "Luka Doncic",
        "player_id": "Luka Doncic",
        "category": "Basketball",
        "condition": "PSA 10",
        "grading_company": "psa",
        "psa_spec_id": 2898422,
        "cl_value": 52.16,
        "last_sold_price": 52.11,
        "last_sold_date": "2026-10-11T10:00:00.000Z",
        "num_sales": 1100,
        "pop": 11010,
        "market_cap": 574271.67,
        "ladder_score": 87.91145293072826,
        "undervalued_gap": 0.0009422011913608548,
        "daily_change_usd": 0.02,
        "daily_change_pct": null,
        "weekly_change_pct": 0.828421052631579,
        "monthly_change_pct": 1.7754993342210388,
        "quarterly_change_pct": 1.4396067415730338,
        "annual_change_pct": 1.120879120879121,
        "key_card": false,
        "outlier_index": false,
        "hidden": false,
        "status": null,
        "date_added": "2020-08-15T20:23:53.193Z",
        "image": "https://firebasestorage.googleapis.com/v0/b/cardladder-71d53.appspot.com/o/cards%2FQDWKiTWGa2YfBHj2TuWs?alt=media",
        "ebay_query": "2019 Doncic Prizm 75 PSA 10 -sgc -bgs -gma -bccg -fresh -convention -hyped -far -likely -silver -finalists -green -red -blue -zion -white -rwb -pink -fireworks -orange -mojo -gold -fast -break -disco -emergent -impact -choice -tiger -hyper -mojo -purple -ruby -select -optic -contenders -mosaic -lot -fearless -orange -2018 -dominance -20 -21",
        "url": "https://www.cardladder.com/ladder/card/QDWKiTWGa2YfBHj2TuWs",
        "extra": {
          "employee": "2mOVnw2QgkY6J8CfKfCyxTrpOTr1"
        }
      },
      {
        "card_id": "bsWRQeDJXkDhtzESLOjZ",
        "slug": "2018-prizm-luka-doncic-emergent-base-3-psa-10",
        "label": "2018 Prizm Luka Doncic Emergent Base #3 PSA 10",
        "year": "2018",
        "set": "Prizm",
        "number": "3",
        "variation": "Emergent Base",
        "player": "Luka Doncic",
        "player_id": "Luka Doncic",
        "category": "Basketball",
        "condition": "PSA 10",
        "grading_company": "psa",
        "psa_spec_id": 2690686,
        "cl_value": 60.45,
        "last_sold_price": 61,
        "last_sold_date": "2026-10-03T10:00:00.000Z",
        "num_sales": 1398,
        "pop": 4925,
        "market_cap": 297704.14,
        "ladder_score": 25.889795918367344,
        "undervalued_gap": -0.009056691120711597,
        "daily_change_usd": -0.01,
        "daily_change_pct": null,
        "weekly_change_pct": null,
        "monthly_change_pct": -0.29069767441860467,
        "quarterly_change_pct": -0.0402769037130271,
        "annual_change_pct": 0.1747713047664902,
        "key_card": false,
        "outlier_index": false,
        "hidden": false,
        "status": null,
        "date_added": "2020-09-08T08:12:52.942Z",
        "image": "https://firebasestorage.googleapis.com/v0/b/cardladder-71d53.appspot.com/o/cards%2FbsWRQeDJXkDhtzESLOjZ?alt=media",
        "ebay_query": "2018 Prizm Emergent Doncic PSA 10 -BGS -SGC -GMA -BCCG -Beckett -9.5 -9 -8.5 -8 -7 -6 -5 -4 -2 -Lot -Set -Complete -Box -Boxes -Pack -Packs -Hanger -Blaster -Green -Silver -Refractor -Refractors",
        "url": "https://www.cardladder.com/ladder/card/bsWRQeDJXkDhtzESLOjZ",
        "extra": {
          "employee": "2mOVnw2QgkY6J8CfKfCyxTrpOTr1"
        }
      },
      {
        "card_id": "PKuJ7wWM5mB9QtgcoHjD",
        "slug": "2018-prizm-luka-doncic-purple-wave-280-psa-10",
        "label": "2018 Prizm Luka Doncic Purple Wave #280 PSA 10",
        "year": "2018",
        "set": "Prizm",
        "number": "280",
        "variation": "Purple Wave",
        "player": "Luka Doncic",
        "player_id": "Luka Doncic",
        "category": "Basketball",
        "condition": "PSA 10",
        "grading_company": "psa",
        "psa_spec_id": 2690154,
        "cl_value": 2001.61,
        "last_sold_price": 2000,
        "last_sold_date": "2026-10-08T10:00:00.000Z",
        "num_sales": 127,
        "pop": 113,
        "market_cap": 226181.37,
        "ladder_score": 23.308108108108108,
        "undervalued_gap": 0.0008025038118929615,
        "daily_change_usd": 0.76,
        "daily_change_pct": null,
        "weekly_change_pct": 0,
        "monthly_change_pct": 0.08108108108108109,
        "quarterly_change_pct": 0.21212121212121213,
        "annual_change_pct": 0.041666666666666664,
        "key_card": false,
        "outlier_index": false,
        "hidden": false,
        "status": null,
        "date_added": "2020-07-01T02:08:33.114Z",
        "image": "https://firebasestorage.googleapis.com/v0/b/cardladder-71d53.appspot.com/o/cards%2FPKuJ7wWM5mB9QtgcoHjD?alt=media",
        "ebay_query": "2018 luka doncic purple wave psa 10 -lot -bgs -9",
        "url": "https://www.cardladder.com/ladder/card/PKuJ7wWM5mB9QtgcoHjD",
        "extra": {
          "employee": "2mOVnw2QgkY6J8CfKfCyxTrpOTr1"
        }
      }
    ]
  }
}
Actions

What the Card Ladder API does

ActionDescriptionConcrete use caseKey params
searchSearch Card Ladder's card database. Each row is one card in one condition / grade with its CL Value, last sold price and date, number of recorded sales, graded population, market cap, ladder score and 1-day to 1-year % changes. Filter by category, condition, grading company, player, year, value, last sold price and population; sort by value, sales, pop, market cap, score, date or % change. Words in `query` must all appear in the card's label.Pricing teams call search to search Card Ladder's card database.query, category, condition, grading_company, player, ...
cardOne card in full by its card_id: CL Value with its confidence, last sold price, all-time high, ROI, market cap, ladder score, % changes, oldest and newest sale, last-month and last-year high / low / average / count, graded population and PSA pop link, cert and slab serial, the value of EVERY other grade of the same card, other variations, similar cards, active listings, and the full per-day sales history back to the card's first recorded sale.Marketplace operators call card to get one card in full by its card_id.card_id
card_price_historyThe per-day sales price history of one card, every recorded sale day back to its first sale (the average price that day and how many sales), optionally between two dates, with high / low / first / last over the range.Catalog enrichment teams call card_price_history to get the per-day sales price history of one card, every recorded sale day back to its first sale (….card_id, from, to
card_gradesEvery grade of the same card (Raw, PSA 1-10, BGS, SGC, CGC …) with its CL Value — the value ladder of one card. The card itself is included.Retail analysts call card_grades to get every grade of the same card (Raw, PSA 1-10, BGS, SGC, CGC …) with its CL Value.card_id
listingsActive card listings Card Ladder tracks across eBay, Fanatics (Weekly, Premier, Buy Now), Goldin, Heritage, MySlabs, Pristine and more: title, price, auction / best offer / fixed price, bids, watchers, end date, seller and the listing link.Pricing teams call listings to get active card listings Card Ladder tracks across eBay, Fanatics (Weekly, Premier, Buy Now), Gol….query, platform, listing_type, min_price, max_price, ...
playersSearch Card Ladder's player indexes: cards tracked, total value and market cap of the player's cards, last-day sales, the key card and the player index % change over 1 week to all time. Each row's player_id opens the `player` action.Marketplace operators call players to search Card Ladder's player indexes.query, category, min_cards, max_cards, sort, ...
playerOne player's index: the index level, cards tracked, total value and market cap, the key card, % changes, the FULL index history and the sales-volume history, and the player's top 20 cards by ladder score (more with search + player).Catalog enrichment teams call player to get one player's index.player_id
indexesThe 40 Card Ladder market indexes (CL50, Pokémon, Basketball, Baseball, Football, Vintage, Modern, Low-Pop, High-End …) with the current index level, last-day sales, cards counted and % change over 1 week to all time.Retail analysts call indexes to get the 40 Card Ladder market indexes (CL50, Pokémon, Basketball, Baseball, Football, Vintage, Mo….none
indexOne market index: the index level, total value and market cap, % changes, its membership rule, the FULL index history (Pokémon back to 2004) and sales-volume history, and its constituent cards, 20 per page.Pricing teams call index to get one market index.index_id, page
ladderCard Ladder's trending ladder (the 'Card Price Guide' page): cards ordered by ladder score (their growth over the last 2 weeks), for one category or all, 20 per page by default.Marketplace operators call ladder to get card Ladder's trending ladder (the 'Card Price Guide' page).category, page, limit
daily_sales_recapCard Ladder's nightly Daily Sales Recap: total sales amount and count of the day, the cards that sold at an all-time high (with card_id and price), and the sales it excluded as suspicious ('Purgatory'). The latest recap, one day's, or one by post_id.Catalog enrichment teams call daily_sales_recap to get card Ladder's nightly Daily Sales Recap.post_id, date
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/cardladder/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"luka doncic prizm","condition":"PSA 10"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.cardladder.search with {"query":"luka doncic prizm","condition":"PSA 10"}.
Use cases

Who uses this API and why

  • Value a graded collection: card for each card gives the CL Value, last sale and pop of the exact grade you own.
  • Decide whether to grade: card_grades shows what the same card is worth Raw, PSA 8, 9 and 10.
  • Chart a card: card_price_history gives every sale day back to the first recorded sale.
  • Watch the market: index and player return the CL50, the category indexes and any player's index with full history.
  • Find deals: listings filtered by platform, listing type and price, next to the card's CL Value.
FAQ

Questions developers ask before integrating

Is the CL Value a sale price?

No. cl_value is Card Ladder's own estimate for the card in that grade. The actual sales are in the card's price_history (one point per day with a sale: the average price that day and the number of sales) and in last_sold_price / last_sold_date. On the cards checked, last sold price, last sold date and pop matched what the card's page shows.

How far back does the sales history go?

To the card's first recorded sale. The 1984 Star Michael Jordan #101 PSA 7 has 85 sale days since 2022-08-18 (89 sales). card_price_history takes from and to dates to cut a range, and returns high, low, first and last price over it.

Why does my search return nothing?

Every word in query must appear in the card's label. 'charizard psa 9' finds 36 cards, 'charizard base set psa 9' finds none because Card Ladder labels the 1999 Base Set 'Pokemon Game'. Use fewer words and the condition, category, player and year filters. An empty result is returned as ok with 0 rows.

Which grades and grading companies are covered?

Raw and every grade Card Ladder tracks for PSA, BGS (including Black Label), SGC, CGC, CSG, TAG, BVG, HGA and others, plus autograph grades such as PSA 10/Auto 10 — 226 conditions. Pass one as condition; grading_company filters by company.

What are the indexes?

Card Ladder's 40 market indexes (CL50, Pokémon, Basketball, Baseball, Football, Vintage, Modern, Low-Pop, High-End and more) and a player index for every tracked player. index and player return the current level, the % change from 1 week to all time, the full history (Pokémon back to 2004) and the constituent cards, 20 per page.

Which marketplaces do the listings come from?

Active listings Card Ladder tracks on eBay, Fanatics (Weekly, Premier and Buy Now), Goldin, Heritage, MySlabs, Pristine, Auction of Champions and more: title, price, auction / best offer / fixed price, bids, watchers, end date, seller and the link. Filter by platform, listing type and price.

How many results can I page through?

Up to 100 rows per page and the first 10,000 results of a search; meta.total says how many matched (it stops counting at 10,000, flagged by total_is_capped). Narrow with filters to reach the rest.

How do I go from a search row to the card?

Pass the row's card_id to card, card_price_history or card_grades as it is; the card's slug or its cardladder.com link work too. Player rows carry player_id for player, index rows index_id for index.

What is the Card Ladder API?

Card Ladder API is a ReefAPI endpoint group for card ladder's sports and trading card values as json: the cl value, last sale and population of every card and grade, its full daily sales history, active listings, player indexes and the 40 card ladder market indexes. It returns live JSON through POST requests under /cardladder/v1.

Is the Card Ladder API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Card Ladder calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Card Ladder login or account?

No login to Card Ladder is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Card Ladder data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Card Ladder API use?

Card Ladder actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Card Ladder from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call cardladder actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / cardladder

Card Ladder

Card Ladder's sports and trading card values as JSON: the CL Value, last sale and population of every card and grade, its full daily sales history, active listings, player indexes and the 40 Card Ladder market indexes.

base /cardladder/v111 endpoints
post/cardladder/v1/card2 credits

One card in full by its card_id: CL Value with its confidence, last sold price, all-time high, ROI, market cap, ladder score, % changes, oldest and newest sale, last-month and last-year high / low / average / count, graded population and PSA pop link, cert and slab serial, the value of EVERY other grade of the same card, other variations, similar cards, active listings, and the full per-day sales history back to the card's first recorded sale.

ParameterAllowed / rangeDescription
card_idrequired—A search / ladder / player / index row's card_id as is. Its slug (1984-star-michael-jordan-base-101-psa-7) or a cardladder.com card URL also works.
Try in playground →
post/cardladder/v1/card_price_history2 credits

The per-day sales price history of one card, every recorded sale day back to its first sale (the average price that day and how many sales), optionally between two dates, with high / low / first / last over the range.

ParameterAllowed / rangeDescription
card_idrequired—A search / ladder / player / index row's card_id as is. Its slug (1984-star-michael-jordan-base-101-psa-7) or a cardladder.com card URL also works.
fromoptional—Only sale days on or after this date (YYYY-MM-DD).
tooptional—Only sale days on or before this date (YYYY-MM-DD).
Try in playground →
post/cardladder/v1/card_grades2 credits

Every grade of the same card (Raw, PSA 1-10, BGS, SGC, CGC …) with its CL Value — the value ladder of one card. The card itself is included.

ParameterAllowed / rangeDescription
card_idrequired—A search / ladder / player / index row's card_id as is. Its slug (1984-star-michael-jordan-base-101-psa-7) or a cardladder.com card URL also works.
Try in playground →
post/cardladder/v1/listings2 credits

Active card listings Card Ladder tracks across eBay, Fanatics (Weekly, Premier, Buy Now), Goldin, Heritage, MySlabs, Pristine and more: title, price, auction / best offer / fixed price, bids, watchers, end date, seller and the listing link.

ParameterAllowed / rangeDescription
queryoptional—Words to look for in the listing title. Empty = every active listing.
platformoptionaleBay · Fanatics-Weekly · Goldin · Fanatics-Premier · Alt · Heritage · Fanatics-Vault · REA · CardHobby · Lelands · AuctionOfChampions · Sothebys · MemoryLane · Pristine · HugginsAndScott · SCP · MileHigh · LoveOfTheGame · MySlabs · 90sAuctions · CollectAuctions · SterlingSportsAuctions · JSPAuctions · WheatlandAuctions · CollectorInvestorAuctions · ClassicAuctions · Iconic · PrivateOnly listings on one marketplace.
listing_typeoptionalAuction · BestOffer · FixedPriceOnly auctions, best-offer or fixed-price listings.
min_priceoptional0–Listing price at least this many USD.
max_priceoptional0–Listing price at most this many USD.
sort = relevanceoptionalrelevance · price · end_date · watchers · bids · created_date · updated_dateResult order.
direction = descoptionaldesc · ascSort direction (ignored for relevance).
page = 1optional1–10000Page number, 1 = first. The source serves the first 10,000 results (page × limit ≤ 10,000).
limit = 20optional1–100Rows per page (1-100).
Try in playground →
post/cardladder/v1/players2 credits

Search Card Ladder's player indexes: cards tracked, total value and market cap of the player's cards, last-day sales, the key card and the player index % change over 1 week to all time. Each row's player_id opens the `player` action.

ParameterAllowed / rangeDescription
queryoptional—Player name words. Empty = every player (browse with category / sort).
categoryoptionalBasketball · Baseball · Football · Pokemon · OnePiece · Hockey · Soccer · Marvel · MultiSport · UFC/MMA · Wrestling · Yugioh · Golf · Tennis · WNBA · Magic · Disney · Racing · Fortnite · Dragonballz · Entertainment · StarWars · Swimming · Softball · PopCulture · Historical · Boxing · Metazoo · FleshAndBloodOnly one card category.
min_cardsoptional0–1000000Players with at least this many cards tracked.
max_cardsoptional0–1000000Players with at most this many cards tracked.
sort = relevanceoptionalrelevance · daily_sales · daily_sales_count · total_cards · total_value · total_market_cap · key_card_value · cards_in_index · weekly_change_pct · monthly_change_pct · quarterly_change_pct · half_year_change_pct · ytd_change_pct · annual_change_pct · five_year_change_pct · all_time_change_pctResult order.
direction = descoptionaldesc · ascSort direction (ignored for relevance).
page = 1optional1–10000Page number, 1 = first. The source serves the first 10,000 results (page × limit ≤ 10,000).
limit = 20optional1–100Rows per page (1-100).
Try in playground →
post/cardladder/v1/player3 credits

One player's index: the index level, cards tracked, total value and market cap, the key card, % changes, the FULL index history and the sales-volume history, and the player's top 20 cards by ladder score (more with search + player).

ParameterAllowed / rangeDescription
player_idrequired—A players row's player_id as is (e.g. Luka Doncic, Michael Jordan).
Try in playground →
post/cardladder/v1/indexes2 credits

The 40 Card Ladder market indexes (CL50, Pokémon, Basketball, Baseball, Football, Vintage, Modern, Low-Pop, High-End …) with the current index level, last-day sales, cards counted and % change over 1 week to all time.

Try in playground →
post/cardladder/v1/index3 credits

One market index: the index level, total value and market cap, % changes, its membership rule, the FULL index history (Pokémon back to 2004) and sales-volume history, and its constituent cards, 20 per page.

ParameterAllowed / rangeDescription
index_idrequired—An indexes row's index_id (cl50index, pokemon, basketball, vintage, lowpop …).
page = 1optional1–500Page of the index's constituent cards (20 per page). Page 1 also carries the index history.
Try in playground →
post/cardladder/v1/ladder2 credits

Card Ladder's trending ladder (the 'Card Price Guide' page): cards ordered by ladder score (their growth over the last 2 weeks), for one category or all, 20 per page by default.

ParameterAllowed / rangeDescription
categoryoptionalBasketball · Baseball · Football · Pokemon · OnePiece · Hockey · Soccer · Marvel · MultiSport · UFC/MMA · Wrestling · Yugioh · Golf · Tennis · WNBA · Magic · Disney · Racing · Fortnite · Dragonballz · Entertainment · StarWars · Swimming · Softball · PopCulture · Historical · Boxing · Metazoo · FleshAndBloodOne category; empty = all categories (the site's 'Sports Card Price Guide').
page = 1optional1–10000Page number, 1 = first. The source serves the first 10,000 results (page × limit ≤ 10,000).
limit = 20optional1–100Rows per page (1-100).
Try in playground →
post/cardladder/v1/daily_sales_recap3 credits

Card Ladder's nightly Daily Sales Recap: total sales amount and count of the day, the cards that sold at an all-time high (with card_id and price), and the sales it excluded as suspicious ('Purgatory'). The latest recap, one day's, or one by post_id.

ParameterAllowed / rangeDescription
post_idoptional—A recap's post_id (from meta.recent_recaps). Empty = the latest recap.
dateoptional—The recap published on this day (YYYY-MM-DD, UTC). Empty = the latest.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.