Fanatics Collect API endpoint
Returns every category Fanatics Collect's "Instant Rips" mystery-pack product (fanaticscollect.com/instant-rips) currently advertises on its homepage: id, name, and price range. Instant Rips is a "buy a randomized pack, a real graded card is revealed" product; each category's id is a real listing id, fetchable through GetListing with type=FIXED for that entry point's own full detail. This does not cover the individual pack-tier tiles within a category or the homepage's "Recently ripped" live feed.
/fanaticscollect/instant-rips/categoriesEach category's id is a real listing id -- fetch that entry point's own full detail through Fanatics Collect Listing with type=FIXED. This endpoint does not cover the individual pack-tier tiles within a category (e.g. "Football Super $150") or the homepage's "Recently ripped" live feed -- both are hydrated client-side in a form this API cannot reliably parse.
Response fields:
categories[] — {id, name, min_price, max_price, url}.
id — the category tile's linked listing id.name — the category's display label, e.g. Football.min_price/max_price — {amount, currency} objects giving the category's advertised price range; may be absent if a tile's price text doesn't parse.url — the category tile's own link on fanaticscollect.com.| Field | Filled in, of 5 checked | Values in the sample |
|---|---|---|
| id | 5 | |
| name | 5 | “Collector Packs” and 4 other values |
| min_price | 5 | |
| max_price | 5 | |
| url | 5 | fanaticscollect.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanaticscollect/instant-rips/categories" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"categories": [
{
"id": "92c2820e-3248-4b02-a4cc-6e32ee0e7660",
"name": "Collector Packs",
"min_price": {
"amount": 10,
"currency": "USD"
},
"max_price": {
"amount": 100,
"currency": "USD"
},
"url": "https://www.fanaticscollect.com/instant-rips/92c2820e-3248-4b02-a4cc-6e32ee0e7660"
},
{
"id": "fc95e786-496d-4ee5-8e19-37d8bfd44723",
"name": "Football",
"min_price": {
"amount": 150,
"currency": "USD"
},
"max_price": {
"amount": 1000,
"currency": "USD"
},
"url": "https://www.fanaticscollect.com/instant-rips/fc95e786-496d-4ee5-8e19-37d8bfd44723"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/fanaticscollect.instantRipsCategoriesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanaticscollect.InstantRipsCategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].id | string | No | 92c2820e-3248-4b02-a4cc-6e32ee0e7660 | ID is the pack-tile listing id the category tile currently links to -- a real FIXED/BO listing id, fetchable via GetListing (type=FIXED) for that entry point's own full detail (see listing_type.go's doc comment on how Instant Rips packs resolve as FIXED/BO listings). Instant Rips categories have no separate id space of their own in the server-rendered page -- this is simply which specific pack tile the category tile currently links to, confirmed live 2026-09-16. | ||
| data.categories[].max_price | fanaticscollect.Money | No | ||||
| data.categories[].max_price.amount | number | No | 13.2 | |||
| data.categories[].max_price.currency | string | No | USD | |||
| data.categories[].min_price | object | No | MinPrice/MaxPrice are the category's advertised price range, e.g. $10.00-$100.00 for "Collector Packs". Either may be absent if the page's price-range text for a tile doesn't parse as two dollar amounts (not observed live, but not assumed impossible). | |||
| data.categories[].min_price.amount | number | No | 13.2 | |||
| data.categories[].min_price.currency | string | No | USD | |||
| data.categories[].name | string | No | Collector Packs | Name is the category's display label, e.g. "Collector Packs". | ||
| data.categories[].url | string | No | URL is the category tile's own link -- an Instant Rips pack detail page (an alias for the same FIXED/BO listing ID resolves to). | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 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/instant-rips/categories" \
-H "x-api-key: $CRAWLORA_API_KEY"