---
title: "Search COMC card listings"
method: GET
path: "/comc/search"
tags: ["COMC"]
---

# Search COMC card listings

`GET /comc/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/comc/search`
- Auth: API key in header `x-api-key`

Searches or browses COMC's (comc.com) live consignment marketplace for graded and ungraded trading cards. Each result row is a distinct card+grade combination (COMC's own category/search grid aggregates every seller's copy under one row); chain a row's handle into the listing endpoint for the per-seller breakdown. At least one of category or query is typically useful, but both are optional -- omitting both searches all categories.

## Query parameters

- `category` string
- `query` string
- `sort` 'r' | 'c' | 'o' | 'n' | 'b' | 'h' | 'l' | 'd' | 'p' | 'q' | 's' | 'm' | 'e'
- `attributes` string
- `condition` 'aUngraded' | 'aGraded' | 'aAftermarketAuto' | 'aAfterAutoGraded'
- `page` integer
- `page_size` 6 | 8 | 10 | 12 | 14 | 15 | 16 | 18 | 20 | 24 | 30 | 40 | 50 | 64 | 100

## Headers

- `x-api-key` string, required

## Response `200`

OK

- ComcSearchResponseDoc
  - `code` integer
  - `data` ComcSearchResponse
    - `cards` ComcCardSummary[]
      - `card_number` string
      - `grade_label` string: GradeLabel is COMC's own grader+grade+label string when the card is graded, e.g. "PSA 10 GEM MT" -- empty for ungraded cards.
      - `handle` string: Handle is the relative path identifying this card+grade combination, e.g. "Cards/Baseball/2021/Topps_Chrome_-_Base_-_Red_Wave_Refractor/84/Nolan_Arenado/17500366/Graded/PSA/10". Pass verbatim as comc_listing's handle param.
      - `image_url` string
      - `price` number: Price is the price COMC's own search/category grid displays for this row. Best-effort labeled: COMC's grid shows one price per card+grade row aggregating potentially several sellers' listings (see ListingResponse), and this pass could not live-confirm whether it is always the lowest current listing -- treat it as COMC's own representative price for the row, not a guaranteed minimum.
      - `print_run` string: PrintRun is a serial/print-run suffix when present, e.g. "#/5".
      - `set_description` string: SetDescription is COMC's own descriptive text for the set/base/parallel combination as a single string (e.g. "Topps Chrome - [Base] - Red Wave Refractor") -- deliberately not further split into separate set/base/ parallel fields, since set names themselves routinely contain dashes and brackets, making that split unreliable to do generically.
      - `subject` string
      - `url` string
      - `year` string
    - `category` string
    - `page` integer
    - `page_size` integer
    - `query` string
    - `total_count` integer
  - `msg` string

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `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)
