---
title: "Search Alt's completed sales archive"
method: GET
path: "/alt/sold-listings"
tags: ["Alt"]
---

# Search Alt's completed sales archive

`GET /alt/sold-listings`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/alt/sold-listings`
- Auth: API key in header `x-api-key`

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.

## Query parameters

- `q` string
- `category` '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` 'eBay' | 'Fanatics Collect' | 'Alt' | 'Pristine Auction' | 'Goldin' | 'CardHobby' | 'Memory Lane'
- `grading_company` '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
- `per_page` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- AltSoldListingsResponseDoc
  - `code` integer
  - `data` AltSoldListingsResponse
    - `page` integer
    - `per_page` integer
    - `query` string
    - `results` AltSoldListing[]
      - `asset_id` string
      - `auction_house` string
      - `auction_type` string
      - `brand` string
      - `card_number` string
      - `category` string
      - `grade` string
      - `grading_company` string
      - `id` string
      - `images` AltImage[]
        - `position` string
        - `url` string
      - `listing_id` string: 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.
      - `listing_type` '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.
      - `name` string
      - `payment_state` string: 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.
      - `pop` integer
      - `price` number
      - `sold_date` string
      - `subject` string
      - `url` string: 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.
      - `variety` string
      - `year` integer
    - `total` integer
  - `msg` string

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
