Alt API endpoint
Searches Alt's reference card-design catalog -- a canonical catalog of card designs (one entry per year/brand/subject/card-number/variety combination), separate from live listings or sales. Useful for finding a card design's asset_id (to feed into alt-asset for a population report and recent sales) without already having a live listing or sale that references it.
/alt/card-searchQuery parameters:
q (optional) — free-text search across card name, subject, brand, and
variety. Omit or pass * to browse the whole catalog.page (optional) — 1-based page number, default 1.per_page (optional) — results per page, default 24, max 100.Notable response behavior:
category filter — Alt's own reference-catalog index does
not expose category as a facet-able field, so this package cannot
live-verify a category value against it. category is still returned
per result, informationally.category values here are not limited to alt-categories' sports-card
list — the catalog also includes non-sport card designs (e.g.
NON-SPORT_CARDS).| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| asset_id | 20 | |
| name | 20 | “1993 High School Heroes II Michael Jordan #12” and 19 other values |
| subject | 20 | Michael Jordan in all 20 |
| year | 20 | 1,993 to 2,009, median 1,997 |
| brand | 20 | “High School Heroes II” and 11 other values |
| card_number | 20 | “12” and 19 other values |
| category | 20 | BASKETBALL_CARDS (13), NON-SPORT_CARDS (6), BASEBALL_CARDS (1) |
| pop | 20 | 1 to 694, median 98 |
| external_transaction_count | 6 | 2 to 12, median 11 |
| variety | 15 | “In Air” and 9 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | No | Free-text search across card name, subject, brand, and variety | michael jordan | |
| page | integer | No | 1-based page number, default 1 | ||
| per_page | integer | No | Results per page, default 24, max 100 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/alt/card-search?q=coffee&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "michael jordan",
"page": 1,
"per_page": 24,
"total": 18147,
"results": [
{
"asset_id": "6059088b-7daa-408c-923d-fdf1a9d94cbe",
"name": "1993 High School Heroes II Michael Jordan #12",
"subject": "Michael Jordan",
"year": 1993,
"brand": "High School Heroes II",
"card_number": "12",
"category": "NON-SPORT_CARDS",
"pop": 16,
"external_transaction_count": 12
}
]
}
}Request schema
No body schema
Response schema
#/definitions/alt.cardSearchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | alt.CardSearchResponse | No | ||||
| data.page | integer | No | ||||
| data.per_page | integer | No | ||||
| data.query | string | No | ||||
| data.results | array | No | ||||
| data.results[].asset_id | string | No | ||||
| data.results[].brand | string | No | ||||
| data.results[].card_number | string | No | ||||
| data.results[].category | string | No | ||||
| data.results[].external_transaction_count | integer | No | ||||
| data.results[].name | string | No | ||||
| data.results[].pop | integer | No | ||||
| data.results[].subject | string | No | ||||
| data.results[].variety | string | No | ||||
| data.results[].year | integer | No | ||||
| data.total | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/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/alt/card-search?q=coffee&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"