Discover/collectrea API
live

collectrea APIcollectrea.com

Search Robert Edward Auctions' completed lot archive and fetch realized prices, grades, and sale details via two endpoints covering collectrea.com and bid.collectrea.com.

Endpoint health
verified 2h ago
search_sales
get_lot
2/2 passing latest checkself-healing
Endpoints
2
Updated
2h ago

What is the collectrea API?

The collectrea.com API provides two endpoints for querying completed auction results from Robert Edward Auctions. The search_sales endpoint returns up to 5 archive result cards per call — including realized price, lot number, and auction name — while get_lot fetches 9 structured fields for a single lot from either the REA archive or the REA bidding site. Both endpoints are read-only and cover historical sports card sale outcomes.

This call costs2 credits / call— charged only on success
Try it
1-based page number over the result stream, in steps of `limit` results.
Result ordering.
Number of results per page, clamped to 1-5.
Free-text search terms matched against archive lot titles/descriptions, e.g. a year, set, player and grade.
api.parse.bot/scraper/3891e81d-60ad-4309-ac38-be4037e120a4/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/3891e81d-60ad-4309-ac38-be4037e120a4/search_sales?sort=price_desc&query=1952+Topps+Mickey+Mantle' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalmissing one? ·

Searches the official REA auction archive for past lots matching a free-text query and returns up to 5 archive result cards per call. Each result carries the lot's original title, archive identifier (year/season/lot number) and URL, the archive's realized price (labelled 'Sold For' on the archive; the archive does not state whether it includes buyer's premium, so price_basis and currency are null and only the '$' symbol is reported), the auction season the lot sold in (sale_date is null and sale_date_precision is 'auction_season' because the archive publishes no lot-level date), grader and grade parsed from the title, and the primary image URL. status is 'sold' when the archive shows a realized price and null otherwise; bid_count and buyer-premium fields are null on archive results (use get_lot on a bid.collectrea.com URL for those). Pagination: page (default 1) and limit (1-5, default 5) tile the archive's result stream; has_more says whether another page exists. total_matching is the archive's own count; when the archive reports 'more than N', total_is_lower_bound is true. Ordering is controlled by sort (default highest price first). A query with no matches returns an empty results array with total_matching 0.

Input
ParamTypeDescription
pageinteger1-based page number over the result stream, in steps of `limit` results.
sortstringResult ordering.
limitintegerNumber of results per page, clamped to 1-5.
queryrequiredstringFree-text search terms matched against archive lot titles/descriptions, e.g. a year, set, player and grade.
Response
{
  "type": "object",
  "fields": {
    "page": "page number served",
    "sort": "sort key applied",
    "limit": "page size applied after clamping",
    "query": "echo of the search terms used",
    "results": "array of archive result cards; each has title, source ('rea_archive'), source_id (year/season/lot), url, lot_number, auction, category, status ('sold' or null), sold (true or null), sale_period, sale_date (always null on archive), sale_date_precision ('auction_season'), price (number or null), price_label ('Sold For' or null), price_basis (null), currency (null), currency_symbol ('$' or null), buyers_premium_included (null), bid_count (null), grader, grade, image_url",
    "has_more": "true when a further page exists",
    "total_matching": "archive's reported count of matching lots (integer or null)",
    "total_is_lower_bound": "true when the archive reports 'more than N' so total_matching is a floor"
  },
  "sample": {
    "data": {
      "page": 1,
      "sort": "price_desc",
      "limit": 5,
      "query": "1952 Topps Mickey Mantle",
      "results": [
        {
          "url": "https://collectrea.com/archives/2025/Fall/1/1952-topps-311-mickey-mantle-sgc-nm-84",
          "sold": true,
          "grade": "NM 84",
          "price": 369000,
          "title": "1952 Topps #311 Mickey Mantle SGC NM 84",
          "grader": "SGC",
          "source": "rea_archive",
          "status": "sold",
          "auction": "Fall 2025",
          "category": "Postwar Baseball Cards (1948-present)",
          "currency": null,
          "bid_count": null,
          "image_url": "https://rea-image-archive.nyc3.cdn.digitaloceanspaces.com/2025/fall/1-1952-topps-311-mickey-mantle-sgc-nm-84-1.jpg",
          "sale_date": null,
          "source_id": "2025/Fall/1",
          "lot_number": "1",
          "price_basis": null,
          "price_label": "Sold For",
          "sale_period": "Fall 2025",
          "currency_symbol": "$",
          "sale_date_precision": "auction_season",
          "buyers_premium_included": null
        }
      ],
      "has_more": true,
      "total_matching": 1000,
      "total_is_lower_bound": true
    },
    "status": "success"
  }
}

About the collectrea API

What the API covers

This API surfaces completed auction data from Robert Edward Auctions (REA), one of the major sports card auction houses. It targets two URL spaces: the archive at collectrea.com and the bidding site at bid.collectrea.com. Results cover past lots — cards that have already sold or gone unsold — not live or upcoming auctions.

search_sales endpoint

search_sales accepts a free-text query (e.g. "1952 Topps Mickey Mantle PSA 4") and returns a paginated list of matching archive lots. Each result includes title, lot_number, auction, url, and source_id (formatted as year/season/lot). The limit parameter is clamped between 1 and 5 results per page; use page to step through deeper results. The response also carries total_matching and total_is_lower_bound — the latter is true when the archive reports "more than N" matches rather than an exact count. A has_more flag signals whether additional pages exist.

get_lot endpoint

get_lot accepts a single url pointing to either a collectrea.com archive lot (/archives/<year>/<season>/<lot>/<slug>) or a bid.collectrea.com lot (/lots/<id>). It returns up to 9 fields: title, price (the realized amount as a number or null), sold (boolean or null), status (one of sold, unsold, closed, or null), grade, grader, auction, category, and source. Archive lots populate category; bidding-site lots set it to null. When the lot page states no result, status returns null rather than an assumed value.

Limitations and coverage notes

The search_sales endpoint is bounded at 5 results per call, so bulk retrieval of large result sets requires sequential pagination. category is only populated for archive-sourced lots, not bidding-site lots. Both endpoints are read-only — there is no write or bidding functionality exposed.

Reliability & maintenanceVerified

The collectrea API is a managed, monitored endpoint for collectrea.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when collectrea.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official collectrea.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track realized prices for specific PSA- or BGS-graded cards across multiple REA auctions using search_sales with grade in the query
  • Build a price-history dataset for a player or set by querying search_sales with year, set name, and player, then resolving each URL via get_lot
  • Verify a card's sale status (sold, unsold, or closed) before referencing it in a pricing model using get_lot's status and sold fields
  • Extract grader and grade fields from get_lot to segment REA realized prices by grading company
  • Paginate through search_sales results to collect all lot URLs for a given auction season, then batch-fetch price data
  • Cross-reference total_matching counts from search_sales to gauge how frequently a specific card configuration appears in the REA archive
  • Populate a portfolio tracker with historical REA sale prices by resolving collectrea.com archive URLs through get_lot
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Robert Edward Auctions have an official developer API?+
No. REA does not publish a public developer API or documented data access program. This Parse API is the structured programmatic interface to their auction result data.
What does get_lot return for a lot that didn't sell?+
When a lot did not sell, get_lot sets sold to false and status to 'unsold'. The price field returns null in that case. If the page doesn't state a clear outcome, status returns null and sold returns null rather than defaulting to either state.
How does search_sales pagination work, and is total_matching always exact?+
Use the page parameter (1-based) combined with limit (1–5) to step through results. total_matching reflects the count the archive reports, but when total_is_lower_bound is true the archive only guarantees 'at least that many' matches — the real count may be higher. Check has_more to know whether another page exists.
Does the API cover upcoming or live REA auctions?+
No. Both endpoints cover completed lots only — past sales from the REA archive and closed bidding-site lots. Live auction data, lot previews, and pre-sale estimates are not returned. You can fork this API on Parse and revise it to add an endpoint targeting active or upcoming lot pages.
Can I retrieve full auction lot lists without knowing specific search terms?+
search_sales requires a query string; there is no browse-all or list-by-auction endpoint currently. It returns up to 5 results per call against the archive's search index. You can fork this API on Parse and revise it to add an endpoint that enumerates lots by auction season or category directly.
Page content last updated . Spec covers 2 endpoints from collectrea.com.
Related APIs in MarketplaceSee all →