Fanatics Collect API endpoint
Searches Fanatics Collect's sales-history archive -- every completed sale across every marketplace, not just what the live search index currently surfaces. A separate product from Search, reached from the "View all sold items" link on every marketplace search page. purchase_price is what the buyer paid in US dollars: for WEEKLY and PREMIER auction sales it includes the buyer's premium, so it is higher than the listing's final bid; for FIXED sales it equals the asking price. Only the first 1,000 results of a query can be paged through; later pages come back empty and are not charged, so narrow the query with filters to reach older sales. Costs 3 credits per successful call. See GetCategories for the accepted category, grading-service, eye-appeal-grade, and sort values.
/fanaticscollect/sold-itemsQuery parameters:
title (optional) — free-text search across item title, e.g. aaron judge.category (optional) — item category. One of: Trading Cards, Baseball, Basketball, Football, Hockey, Golf, Boxing & MMA, Soccer, Tennis, Racing, Misc Sports, Non-Sport, Yu-Gi-Oh!, Magic The Gathering, Pokémon, Collectible Card Games, Miscellaneous, Memorabilia, Photos, Comics, Tickets, Coins, Video Games.grading_service (optional) — grading/authentication service. One of: PSA, SGC, BGS, BVG, BCCG, CGC, CSG, ungraded. ungraded is a real value for raw/unslabbed items, not a placeholder.eye_appeal_grade (optional) — eye-appeal grade. One of: Eye Appeal - A, Eye Appeal - E, Eye Appeal - S.min_year / max_year (optional) — inclusive card/item year range.min_price / max_price (optional) — inclusive sold-price range.sort (optional) — result order. Default sold_date_desc. One of: sold_date_desc (Most Recently Sold), highest_price (Highest Price), lowest_price (Lowest Price).page (optional) — 1-based page number, default 1.per_page (optional) — results per page, default 20, max 50. A larger value is lowered to 50, and per_page in the response shows the size actually used.Response fields:
page, per_page — echo the effective (post-default) pagination.total, total_pages — total matching sales and page count. Only the first 1,000 results of a query can be paged through. Past that, pages come back with an empty results list and total 0, and that empty page is not charged, so narrow the query (category, grading service, year or price range) to reach older sales.results[] — each entry: {id, listing_id, url, title, subtitle, category, year, grading_service, grade, eye_appeal_grade, serial, marketplace, purchase_price, sold_date, image_medium, image_thumbnail}.
url — the original listing's public page URL, built from listing_id.marketplace — the marketplace the sale happened on, e.g. FIXED, WEEKLY, PREMIER.purchase_price — {amount, currency}, what the buyer paid in US dollars. For WEEKLY and PREMIER auction sales it includes the buyer's premium, so it is higher than the final bid that Fanatics Collect Listing reports as current_bid (final bid × 1.20 in every sale checked in October 2026). For FIXED sales it equals the listing's asking_price.Credit cost: 3 credits per successful call. An empty page after page 1 is not charged.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| listing_id | 20 | |
| url | 20 | fanaticscollect.com |
| title | 20 | “2024 Pokemon Japanese Scarlet & Violet Cyber Judge AR Charj…” and 18 other values |
| category | 20 | Baseball (14), Pokémon (Japanese) (4), One Piece (1) and 1 more |
| year | 20 | 2,017 to 2,026, median 2,024 |
| grading_service | 20 | PSA (11), CGC (8), RAW (1) |
| grade | 19 | 0.5 to 10, median 9 |
| serial | 18 | 46,693,648 to 6,232,048,057, median 154,470,180 |
| marketplace | 20 | FIXED (16), WEEKLY (4) |
| purchase_price | 20 | |
| sold_date | 20 | 2026-10-11 to 2026-10-13 |
| image_medium | 20 | cdn-vault.fanaticscollect.com and 2 other hosts |
| image_thumbnail | 20 | cdn-vault.fanaticscollect.com and 2 other hosts |
| subtitle | 2 | “PSA Population 1 of 9 - Six Graded Higher” and 1 other value |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| title | string | No | Free-text search across item title | aaron judge | |
| category | string | No | Item category Allowed values: Trading Cards, Baseball, Basketball, Football, Hockey, Golf, Boxing & MMA, Soccer, Tennis, Racing, Misc Sports, Non-Sport, Yu-Gi-Oh!, Magic The Gathering, Pokémon, Collectible Card Games, Miscellaneous, Memorabilia, Photos, Comics, Tickets, Coins, Video Games. | ||
| grading_service | string | No | Grading/authentication service, including ungraded for raw items Allowed values: PSA, SGC, BGS, BVG, BCCG, CGC, CSG, ungraded. | ||
| eye_appeal_grade | string | No | Eye-appeal grade Allowed values: Eye Appeal - A, Eye Appeal - E, Eye Appeal - S. | ||
| min_year | integer | No | Minimum card/item year, inclusive | ||
| max_year | integer | No | Maximum card/item year, inclusive | ||
| min_price | number | No | Minimum sold price, inclusive | ||
| max_price | number | No | Maximum sold price, inclusive | ||
| sort | string | No | Result order. Default sold_date_desc. Allowed values: sold_date_desc, highest_price, lowest_price. | ||
| page | integer | No | 1-based page number, default 1 | ||
| per_page | integer | No | Results per page, default 20, max 50; larger values are lowered to 50 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanaticscollect/sold-items?category=Trading+Cards&grading_service=PSA&eye_appeal_grade=Eye+Appeal+-+A&sort=sold_date_desc&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"page": 1,
"per_page": 20,
"total": 19402,
"total_pages": 971,
"results": [
{
"id": "BOV2_94e8271d-cd20-45ca-8eff-b75052173fdb",
"listing_id": "d3406c21-87be-458c-8a2f-9bc8ebb79b9b",
"url": "https://www.fanaticscollect.com/buy-now/d3406c21-87be-458c-8a2f-9bc8ebb79b9b",
"title": "2024 Topps Dynasty Variation Aaron Judge PATCH AUTO /10 #DAPB-AJ2 BGS 9 MINT",
"subtitle": "BGS Population 1 of 1 - None Graded Higher",
"category": "Baseball",
"year": 2024,
"grading_service": "BGS",
"grade": 9,
"serial": "0019443767",
"marketplace": "FIXED",
"purchase_price": {
"amount": 3900,
"currency": "USD"
},
"sold_date": "2026-09-15T14:24:06.000 PDT",
"image_medium": "https://cdn-vault.fanaticscollect.com/medium.jpg",
"image_thumbnail": "https://cdn-vault.fanaticscollect.com/thumb.jpg"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/fanaticscollect.soldItemsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanaticscollect.SoldItemsResponse | No | ||||
| data.page | integer | No | ||||
| data.per_page | integer | No | ||||
| data.results | array | No | ||||
| data.results[].category | string | No | ||||
| data.results[].eye_appeal_grade | string | No | ||||
| data.results[].grade | number | No | ||||
| data.results[].grading_service | string | No | ||||
| data.results[].id | string | No | ||||
| data.results[].image_medium | string | No | ||||
| data.results[].image_thumbnail | string | No | ||||
| data.results[].listing_id | string | No | ||||
| data.results[].marketplace | string | No | FIXED | |||
| data.results[].purchase_price | fanaticscollect.Money | No | ||||
| data.results[].purchase_price.amount | number | No | 13.2 | |||
| data.results[].purchase_price.currency | string | No | USD | |||
| data.results[].serial | string | No | ||||
| data.results[].sold_date | string | No | ||||
| data.results[].subtitle | string | No | ||||
| data.results[].title | string | No | ||||
| data.results[].url | string | No | ||||
| data.results[].year | integer | No | ||||
| data.total | integer | No | ||||
| data.total_pages | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/fanaticscollect/sold-items?category=Trading+Cards&grading_service=PSA&eye_appeal_grade=Eye+Appeal+-+A&sort=sold_date_desc&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"