Alt API endpoint
Searches Alt's global archive of completed card sales, aggregated across every source auction house its search carries -- the "market data" side of Alt's card-investment-marketplace positioning. This is a separate index from alt-search/alt-auctions, scoped to a rolling recent time window, not a filtered view of live listings. Pass auction_house=Alt to see only Alt's own completed sales. Each of Alt's own sales carries listing_id and listing_type -- pass both to alt-listing to get that item's certificate number -- and its url is the alt.xyz item page; a sale aggregated from another auction house carries that source site's own url instead. See alt-categories for the accepted category/auction_house/grading_company values.
/alt/sold-listingsQuery parameters:
q (optional) — free-text search across item name, subject, brand, and
variety. Omit or pass * to browse the most recent sales.category (optional) — comma-separated card category filter. One or
more of BASEBALL_CARDS, POKEMON_CARDS, FOOTBALL_CARDS,
BASKETBALL_CARDS, POP-CULTURE_CARDS, HOCKEY_CARDS, SOCCER_CARDS,
ONE_PIECE_CARDS, OTHER_CARDS, TCG_CARDS, COMBAT_SPORTS_CARDS,
RACING_CARDS, MAGIC_CARDS, YUGIOH_CARDS, GOLF_CARDS,
TENNIS_CARDS. See alt-categories for live discovery.auction_house (optional) — comma-separated source auction house filter.
One or more of eBay, Fanatics Collect, Alt, Pristine Auction,
Goldin, CardHobby, Memory Lane. Pass Alt to see only Alt's own
completed auctions. See alt-categories.grading_company (optional) — comma-separated grading company filter.
One or more of PSA, CGC, BGS, CSG, SGC, PSA/DNA, BVG,
BCCG, Factory Sealed, BAS, AUTHENTIC, TAG, RELABEL,
RECASE, JSA/BVG, REVIEW, INTERNAL, NEW/, BULK, OTHERS,
UNGRADED. See alt-categories.page (optional) — 1-based page number, default 1.per_page (optional) — results per page, default 24, max 100.Notable response behavior:
sort param — only Alt's own default relevance/recency
ordering has been verified against this index.auction_house Alt) and sales aggregated from
another auction house carry different link fields:
listing_id, listing_type and payment_state. Pass
listing_id as id, together with listing_type, to alt-listing to
get that exact item's cert_number, grade and images. id is the
sale's own transaction id and is not accepted by alt-listing. url
is the item's page on alt.xyz.listing_id or payment_state. Its url
is the click-through link back to the original sold listing on its
source site (e.g. an eBay item URL).listing_type is one of AUCTION, FIXED_PRICE (Alt's own sales) or
EXTERNAL_AUCTION, EXTERNAL_FIXED_PRICE (aggregated sales).payment_state is Alt's own payment status for the sale, passed through
as Alt reports it. COMPLETED and NOT_STARTED have been observed; a
sale can be listed before the buyer has paid.price for a sale on Alt itself is in US dollars, and what it includes
depends on auction_type:
AUCTION — the winning bid plus Alt's 20% buyer's premium (winning
bid × 1.20).BEST_OFFER — the accepted offer, normally below the listing's
list_price. No buyer's premium.BUY_IT_NOW — the listing's list_price. No buyer's premium.brand (for example Pokemon Base Set and
Pokemon Base Set Japanese), and each language printing has its own
asset_id. A brand with no language word is not by itself proof of an
English printing; for a PSA-graded Alt sale, confirm against
psa-cert-lookup using the cert_number from alt-listing.auction_type is a source-specific sub-classification (e.g. eBay's
BEST_OFFER/BUY_IT_NOW/AUCTION), informational only — it is not a
validated filter enum.Example result for a sale on Alt itself:
{
"id": "dabe486a-69ca-4b7a-be75-488500f90dce",
"asset_id": "6b26a0cf-17d4-4c6c-882d-b2687f1faca8",
"listing_id": "0f471db5-06e0-482d-b7fc-f3c96fec41d2",
"listing_type": "FIXED_PRICE",
"payment_state": "COMPLETED",
"name": "2007 Pokemon Ex Power Keepers Reverse Foil Charizard #6",
"brand": "Pokemon Ex Power Keepers",
"auction_house": "Alt",
"auction_type": "BUY_IT_NOW",
"grading_company": "PSA",
"grade": "7",
"price": 850,
"sold_date": "2026-10-08",
"url": "https://alt.xyz/itm/0f471db5-06e0-482d-b7fc-f3c96fec41d2"
}
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| asset_id | 20 | |
| listing_type | 20 | EXTERNAL_FIXED_PRICE (11), EXTERNAL_AUCTION (9) |
| name | 20 | 1998 SP Top Prospects Phi Beta… (5), 1995 Jordan Time Capsule Jordan… (5), 1999 Upper Deck Black Diamond J… (4) and 3 more |
| subject | 20 | Michael Jordan in all 20 |
| year | 20 | 1,995 to 1,999, median 1,998 |
| brand | 20 | SP Top Prospects Phi Beta Jordan (7), Jordan Time Capsule (5), Upper Deck Black Diamond Jordan… (4) and 2 more |
| variety | 20 | Phi Beta Jordan (7), Jordan Time Capsule (5), Jordan Diamond Gallery (4) and 2 more |
| card_number | 20 | J22 (5), TC1 (5), DG1 (4) and 3 more |
| category | 20 | BASKETBALL_CARDS (15), BASEBALL_CARDS (5) |
| auction_house | 20 | eBay (17), Fanatics Collect (3) |
| auction_type | 20 | AUCTION (9), BEST_OFFER (8), BUY_IT_NOW (3) |
| grading_company | 20 | PSA (19), SGC (1) |
| grade | 20 | 6 to 10, median 8 |
| pop | 19 | 3 to 91, median 16 |
| price | 20 | 15 to 1,110, median 45 |
| sold_date | 20 | 2026-08-06 to 2026-10-11 |
| url | 20 | ebay.com and 1 other host |
| images | 20 | median 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | No | Free-text search across item name, subject, brand, and variety. Omit or pass * to browse the most recent sales. | michael jordan | |
| category | string | No | Comma-separated card category filter Allowed values: BASEBALL_CARDS, POKEMON_CARDS, FOOTBALL_CARDS, BASKETBALL_CARDS, POP-CULTURE_CARDS, HOCKEY_CARDS, SOCCER_CARDS, ONE_PIECE_CARDS, OTHER_CARDS, TCG_CARDS, COMBAT_SPORTS_CARDS, RACING_CARDS, MAGIC_CARDS, YUGIOH_CARDS, GOLF_CARDS, TENNIS_CARDS. | ||
| auction_house | string | No | Comma-separated source auction house filter. Pass Alt to see only Alt's own completed auctions. Allowed values: eBay, Fanatics Collect, Alt, Pristine Auction, Goldin, CardHobby, Memory Lane. | ||
| grading_company | string | No | Comma-separated grading company filter Allowed values: PSA, CGC, BGS, CSG, SGC, PSA/DNA, BVG, BCCG, Factory Sealed, BAS, AUTHENTIC, TAG, RELABEL, RECASE, JSA/BVG, REVIEW, INTERNAL, NEW/, BULK, OTHERS, UNGRADED. | ||
| 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/sold-listings?q=coffee&category=BASEBALL_CARDS&auction_house=eBay&grading_company=PSA&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "michael jordan",
"page": 1,
"per_page": 24,
"total": 101163,
"results": [
{
"id": "ced1abdd-989f-4cc8-b27d-2838b397d968",
"asset_id": "c373aa9a-e7eb-11ea-af75-02d4568f26ba",
"name": "1998 SP Top Prospects Phi Beta Jordan Phi Beta Jordan Michael Jordan #J22",
"subject": "Michael Jordan",
"year": 1998,
"brand": "SP Top Prospects Phi Beta Jordan",
"card_number": "J22",
"category": "BASKETBALL_CARDS",
"auction_house": "eBay",
"auction_type": "BEST_OFFER",
"listing_type": "EXTERNAL_FIXED_PRICE",
"grading_company": "PSA",
"grade": "8",
"pop": 16,
"price": 36,
"sold_date": "2026-09-15",
"url": "https://www.ebay.com/itm/366655056141",
"images": [
{
"position": "FRONT",
"url": "https://alt-images.b-cdn.net/external/ebay/sports/366655056141.jpg"
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/alt.soldListingsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | alt.SoldListingsResponse | 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[].auction_house | string | No | ||||
| data.results[].auction_type | string | No | ||||
| data.results[].brand | string | No | ||||
| data.results[].card_number | string | No | ||||
| data.results[].category | string | No | ||||
| data.results[].grade | string | No | ||||
| data.results[].grading_company | string | No | ||||
| data.results[].id | string | No | ||||
| data.results[].images | array | No | ||||
| data.results[].images[].position | string | No | ||||
| data.results[].images[].url | string | No | ||||
| data.results[].listing_id | string | No | ListingID is the id of the Alt listing this sale closed, only present for a sale on Alt itself (auction_house Alt). Pass it as id, together with listing_type, to alt-listing to get the item's certificate number. A sale aggregated from another auction house carries url instead. | |||
| data.results[].listing_type | string | No | AUCTION, FIXED_PRICE, EXTERNAL_AUCTION, EXTERNAL_FIXED_PRICE | ListingType is AUCTION or FIXED_PRICE for a sale on Alt itself, and EXTERNAL_AUCTION or EXTERNAL_FIXED_PRICE for a sale aggregated from another auction house. | ||
| data.results[].name | string | No | ||||
| data.results[].payment_state | string | No | COMPLETED | PaymentState is Alt's own payment status for the sale, passed through as Alt reports it (COMPLETED and NOT_STARTED observed). Only present for a sale on Alt itself. | ||
| data.results[].pop | integer | No | ||||
| data.results[].price | number | No | ||||
| data.results[].sold_date | string | No | ||||
| data.results[].subject | string | No | ||||
| data.results[].url | string | No | URL is the source site's own link for an aggregated sale, or the item's alt.xyz page for a sale on Alt itself. | |||
| 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/sold-listings?q=coffee&category=BASEBALL_CARDS&auction_house=eBay&grading_company=PSA&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"