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

130point API & Scraper

The 130point API returns sold-price comps for trading cards and collectibles as clean JSON.

2 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 takes the words you would type on 130point - player or character, year, set, card number, grader and grade - and returns up to 200 sales from eBay (every eBay country site), Fanatics Collect (formerly PWCC), Goldin, Heritage Auctions, Pristine Auction, MySlabs and Card Hobby. Each sale has the title, the sold price and its currency, how it sold (auction, fixed price or accepted Best Offer), the number of bids, the sale date and time, the image and a clean link to the listing, and the grading company and grade read from the title. For eBay Best Offer sales it returns the amount the seller actually accepted - the number eBay hides behind a struck-through asking price - together with that asking price and the discount. Filter by sale date, price, sale type, marketplace and item location, keep only graded or only raw cards, sort by the most recent sales or by price, and convert every price to one currency with 130point's own daily rates. live_search returns the live auctions for the same words across eBay, Fanatics, Goldin, Heritage, Pristine and MySlabs with current price, bids and end time. No account - one ReefAPI key and the standard { ok, data, meta, error } envelope.

Reference

What an accepted Best Offer really sold for

eBay shows an accepted Best Offer as a struck-through asking price. 130point publishes the amount that was accepted. On 200 eBay Best Offer sales of 'charizard base set psa 9' read on 2026-11-07, the accepted price was a median 13.2 % (mean 16.0 %) below the asking price; on 'pikachu illustrator' the median was 25 %. Pricing a card from asking prices overstates it by that much.

FieldExample (Charizard base set PSA 9, eBay, 2026-11-04)
sale_typebest_offer_accepted
sold_price / currency1200 / USD — the accepted offer
list_price1449.99 — the asking price eBay still shows
best_offer_discount_pct17.2
sold_at2026-11-04T01:56:17Z
grading{ company: PSA, grade: 9, source: title }

Checked against eBay itself: for this listing eBay's own page shows the 1449.99 asking price and the same end time to the second, and not the accepted amount. Goldin and Fanatics Collect prices are the price the buyer paid including the buyer's premium (Goldin 4,636 = 3,800 hammer + 22 %; Fanatics 3,360 = 2,800 + 20 %, bids match).

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/130point/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "charizard base set psa 9",
    "limit": 10
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "130point",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 3506.9,
    "record_count": 10,
    "bytes": 139781,
    "cache_hit": false,
    "pagination": {
      "page": 1,
      "has_more": true,
      "page_size": 10,
      "total": 200
    },
    "upstream_calls": 3,
    "exits_tried": 2,
    "clearance_age_s": 1148,
    "recovered": "challenge,challenge",
    "charged_credits": 5,
    "version": "0.1.0",
    "request_id": "c320e89f1b3f4111",
    "queue_ms": 1.2,
    "fetched_at": "2026-11-08T13:04:19.791Z"
  },
  "data": {
    "query": "charizard base set psa 9",
    "filters": {
      "query": "charizard base set psa 9",
      "marketplace": "all",
      "sort": "recent"
    },
    "results": [
      {
        "id": "EBAY-v1|117493072102|0",
        "item_id": "117493072102",
        "marketplace": "ebay",
        "marketplace_label": "eBay",
        "source_label": null,
        "title": "1999 POKEMON BASE SET UNLIMITED #4 CHARIZARD-HOLO PSA 9",
        "sold_price": 3225,
        "currency": "USD",
        "sale_type": "auction",
        "best_offer_accepted": false,
        "list_price": null,
        "list_price_currency": null,
        "best_offer_discount_pct": null,
        "bids": 9,
        "sold_at": "2026-11-07T02:41:00Z",
        "url": "https://www.ebay.com/itm/117493072102",
        "ebay_site": "www.ebay.com",
        "bid_history_url": "https://www.ebay.com/bfl/viewbids/117493072102",
        "image": "https://i.ebayimg.com/images/g/MfAAAeSwfjFq44GK/s-l500.jpg",
        "grading": {
          "company": "PSA",
          "grade": 9,
          "source": "title"
        }
      },
      {
        "id": "EBAY-v1|900052219447|0",
        "item_id": "900052219447",
        "marketplace": "ebay",
        "marketplace_label": "eBay",
        "source_label": null,
        "title": "1999 POKEMON BASE SET UNLIMITED #4 CHARIZARD-HOLO PSA 9",
        "sold_price": 5199.99,
        "currency": "CAD",
        "sale_type": "fixed_price",
        "best_offer_accepted": false,
        "list_price": null,
        "list_price_currency": null,
        "best_offer_discount_pct": null,
        "bids": null,
        "sold_at": "2026-11-06T17:04:09Z",
        "url": "https://www.ebay.ca/itm/900052219447",
        "ebay_site": "www.ebay.ca",
        "bid_history_url": null,
        "image": "https://i.ebayimg.com/images/g/ZLAAAeSwjtlq5PzP/s-l500.jpg",
        "grading": {
          "company": "PSA",
          "grade": 9,
          "source": "title"
        }
      },
      {
        "id": "EBAY-v1|237153578204|0",
        "item_id": "237153578204",
        "marketplace": "ebay",
        "marketplace_label": "eBay",
        "source_label": null,
        "title": "Charizard Lot of 2 - PSA 9 151 SIR & PSA 2 1999 Base Set",
        "sold_price": 525,
        "currency": "USD",
        "sale_type": "fixed_price",
        "best_offer_accepted": false,
        "list_price": null,
        "list_price_currency": null,
        "best_offer_discount_pct": null,
        "bids": null,
        "sold_at": "2026-11-06T03:29:58Z",
        "url": "https://www.ebay.com/itm/237153578204",
        "ebay_site": "www.ebay.com",
        "bid_history_url": null,
        "image": "https://i.ebayimg.com/images/g/IQ8AAeSwDHNq5Uen/s-l500.jpg",
        "grading": {
          "company": "PSA",
          "grade": 9,
          "source": "title"
        }
      }
    ],
    "count": 10,
    "total_results": 200,
    "page": 1,
    "limit": 10,
    "has_more": true,
    "stats": {
      "USD": {
        "count": 147,
        "min": 135.83,
        "max": 207400,
        "median": 3252,
        "mean": 5650.03
      },
      "GBP": {
        "count": 33,
        "min": 12.4,
        "max": 14413.3,
        "median": 2347,
        "mean": 2747.36
      },
      "EUR": {
        "count": 9,
        "min": 170,
        "max": 9500,
        "median": 2550,
        "mean": 3095.71
      },
      "AUD": {
        "count": 6,
        "min": 2585.87,
        "max": 8500,
        "median": 5277.5,
        "mean": 5281.64
      },
      "CAD": {
        "count": 5,
        "min": 255,
        "max": 5199.99,
        "median": 2995.95,
        "mean": 3015.19
      }
    },
    "marketplaces": {
      "ebay": 163,
      "fanatics": 27,
      "goldin": 5,
      "heritage": 4,
      "pristine": 1
    },
    "upstream_cap_reached": true
  }
}
Actions

What the 130point API does

ActionDescriptionConcrete use caseKey params
searchSold listings matching a keyword across eBay (every eBay site, with the accepted price of Best Offer sales and the asking price it was accepted against), Fanatics Collect (formerly PWCC), Goldin, Heritage Auctions, Pristine Auction, MySlabs and Card Hobby: title, sold price and currency, sale type, bids, sale date, image and item link, with the grading company and grade read from the title. Filter by sold date range, price range, sale type (auction, fixed price, accepted best offer), marketplace and item location; graded or raw; sort by most recent or by price; optional conversion to one currency; per-currency min/median/max of the returned sales.Pricing teams call search to get sold listings matching a keyword across eBay (every eBay site, with the accepted price of Bes….query, marketplace, sale_type, sold_date_from, sold_date_to, ...
live_searchLive auctions matching a keyword on eBay, Fanatics Collect, Goldin, Heritage Auctions, Pristine Auction and MySlabs: title, current price and currency, bids, end time, image and item link, grading read from the title. Sort by ending soonest or highest price; filter by marketplace and item location; optional conversion to one currency.Marketplace operators call live_search to get live auctions matching a keyword on eBay, Fanatics Collect, Goldin, Heritage Auctions, Pristi….query, marketplace, item_location, sort, grader, ...
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/130point/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"charizard base set psa 9","limit":10}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.130point.search with {"query":"charizard base set psa 9","limit":10}.
Use cases

Who uses this API and why

  • Card pricing and buylist tools: median of the last 200 sales of the exact card and grade
  • Best Offer research: what sellers actually accept below their asking price
  • Arbitrage between eBay and the auction houses (Goldin, Fanatics, Heritage) for the same card
  • Grading decisions: raw versus PSA 9 versus PSA 10 sold prices from one search
  • Live auction watching: what is ending soon across six marketplaces
FAQ

Questions developers ask before integrating

Can I get the real price of an eBay Best Offer sale?

Yes. Rows with sale_type best_offer_accepted carry sold_price = the accepted offer, list_price = the asking price it was accepted against, and best_offer_discount_pct. Pass sale_type best_offer to get only those sales - a search for 'pikachu vmax psa 10' returned 199 of them on 2026-11-07.

How far back do sold prices go?

Each search returns at most 200 sales. With the default sort they are the newest 200 (for a popular card that is a few weeks to two months); sort price_desc reaches back years (to 2020 for a Charizard PSA 9) and price_asc returns the cheapest. Use sold_date_from and sold_date_to to pull the 200 sales of a particular window, for example one month.

Which marketplaces are included?

eBay on every country site (prices stay in the listing's own currency: USD, GBP, EUR, AUD, CAD …), Fanatics Collect including its PWCC history, Goldin, Heritage Auctions, Pristine Auction, MySlabs and Card Hobby. marketplace narrows the search to one or several of them; MySlabs and Card Hobby return at most 100 sales per search.

How do I get comps for one grade only?

Put the grade in the words (e.g. 'charizard base set psa 9') or use grader and grade, which add it the way 130point's own card filters do. Every row also carries grading{company, grade} read from the title, and graded=raw keeps only titles that name no grading company.

Can I look up one eBay item number?

Not here - 130point searches by words, and an item number returns nothing. For a single sold eBay listing (sold or not, final price, end time, bids) use the eBay Sold Listings API's sold_item action; 130point adds the accepted Best Offer amount for listings found by keyword.

Are prices converted to one currency?

Prices are returned in the currency the item sold in. Add currency=USD (or GBP, EUR …) and each row also gets price_converted using 130point's own daily exchange rates; stats gives the count, min, median, max and mean of the returned sales per currency.

What is the 130point API?

130point API is a ReefAPI endpoint group for sold prices for trading cards: ebay with the real accepted best offer, plus fanatics, goldin, heritage, pristine, myslabs and card hobby. It returns live JSON through POST requests under /130point/v1.

Is the 130point API free to try?

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

Do I need a 130point login or account?

No login to 130point 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 130point 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 130point API use?

130point actions currently cost 2-5 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call 130point from an AI assistant or MCP client?

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

Is the 130point API a 130point scraper?

It is the managed alternative to a DIY 130point scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same sold prices for trading cards: ebay with the real accepted best offer, plus fanatics, goldin, heritage, pristine, myslabs and card hobby back as clean JSON.

Why does my 130point scraper keep getting blocked?

Most 130point scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked calls are free.

docs / 130point

130point

Sold prices for trading cards: eBay with the real accepted Best Offer, plus Fanatics, Goldin, Heritage, Pristine, MySlabs and Card Hobby.

base /130point/v12 endpoints
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.