Trading-card resale pricing and inventory monitoring
Use COMC endpoints to turn trading-card resale pricing and inventory monitoring into repeatable API requests with documented inputs and JSON responses.
Turn COMC's (Check Out My Cards) public trading-card marketplace into structured listing data -- keyword and category search across its consignment card inventory with sort and condition filters, the per-seller breakdown for a given card-and-grade combination, and closed category/sport taxonomy. Credential-free.
Extract COMC trading-card listing search, per-seller listing detail, and category taxonomy as structured JSON.
Endpoint families
3
Documented params
11
Examples
3
Live catalog snapshot
Active endpoints
3
Methods
GET
Required params
4
Schema refs
3
{
"platform": "COMC",
"endpoint": "comc-search",
"method": "GET",
"path": "/comc/search",
"auth": "apiKey"
}Use cases
Extract COMC trading-card listing search, per-seller listing detail, and category taxonomy as structured JSON.
Use COMC endpoints to turn trading-card resale pricing and inventory monitoring into repeatable API requests with documented inputs and JSON responses.
Use COMC endpoints to turn category coverage research into repeatable API requests with documented inputs and JSON responses.
Use COMC endpoints to turn card-market demand tracking into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live COMC endpoint catalog — 3 endpoints, 11 documented request parameters, and 3 published response schemas — the same catalog Docs and Playground run against.
3 documented COMC endpoints, grouped into 3 request families — Categories, Listing and Search.
11 request parameters are documented across those COMC endpoints, 4 of them required — the full input contract is public before you write any integration code.
3 of the 3 COMC endpoints ship a recorded example response, and 3 carry a documented response schema — you can code against the real JSON before the first request.
COMC endpoints document their error responses (400, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
3 hosted MCP tools back the COMC endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/comc/categories
/comc/listing
/comc/search
Endpoint catalog
/comc/searchSearches 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.
Response notes
- `category` must be one of `comc-categories`' returned slugs; an unknown value returns `400` before any upstream request is made. Same for `sort`, each value in `attributes`, `condition`, and `page_size`. - Two facets visible on comc.com's own category/search page -- Listing Format (Auction/Buy Now/Both) and Sold Out (Ignore/Include/Only Sold Out) -- are **not** exposed as request filters here. Both are wired to an ASP.NET `__doPostBack` control on comc.com's own site rather than a plain URL parameter (confirmed live), so a stateless GET request cannot drive them the way `sort`/`attributes`/`condition` are driven. - `set_description` 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. - `grade_label` and `print_run` are only present for graded cards (e.g. `"PSA 10 GEM MT"` / `"#/5"`); both are omitted for ungraded cards. - `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, and this has not been live-confirmed to always be the lowest current listing -- treat it as COMC's own representative price for the row, not a guaranteed minimum. - A search with no matching cards returns `200` with an empty `cards` array. Example response: ```json { "code": 200, "msg": "OK", "data": { "category": "Baseball", "page": 1, "total_count": 2653613, "cards": [ { "handle": "Cards/Baseball/2021/Topps_Chrome_-_Base_-_Red_Wave_Refractor/84/Nolan_Arenado/17500366/Graded/PSA/10", "url": "https://www.comc.com/Cards/Baseball/2021/Topps_Chrome_-_Base_-_Red_Wave_Refractor/84/Nolan_Arenado/17500366/Graded/PSA/10", "year": "2021", "set_description": "Topps Chrome - [Base] - Red Wave Refractor", "card_number": "84", "subject": "Nolan Arenado", "grade_label": "PSA 10 GEM MT", "print_run": "#/5", "image_url": "https://img.comc.com/i/Baseball/2021/Topps-Chrome---Base---Red-Wave-Refractor/84/Nolan-Arenado.jpg", "price": 64930.00 } ] } } ```
MCP tool comc_search
/comc/listingReturns one card+grade combination's full detail from COMC (comc.com): card identity and every seller's individual for-sale copy (owner, item id, price). handle is the value returned by comc_search's CardSummary.handle field (or the equivalent comc.com card URL path).
Response notes
- A `handle` that is empty, or does not start with `Cards/` (after stripping a leading slash or a `https://www.comc.com` prefix), returns `400` before any upstream request is made. - `set_description`, `grade_label`, `year`, and `card_number` are parsed from the page's own `<title>` tag, which reliably carries the full card identity in one place (e.g. the title `"2021 Panini Absolute - [Base] - Red #36 - Josh Allen"` yields `year: "2021"`, `set_description: "Panini Absolute - [Base] - Red"`, `card_number: "36"`, `subject: "Josh Allen"`). `grade_label` is only present for graded cards. - `listings` is every individual seller copy of this exact card+grade combination, each with its own numeric `item_id`, `owner` username, `owner_url`, and `price` -- not a single aggregate price the way `comc-search`'s row-level `price` is. - `parallels` is every sibling parallel of the same base card (e.g. `"[Base]"`, `"Blue"`, `"Green"`), from the card's own "Parallels & Grades" table, each with COMC's own displayed price, a `handle` for a follow-up `comc-listing` lookup, and `for_sale_count`. A parallel with no current listings has `sold_out: true` and `price: 0` (COMC itself displays `$0.00` for that row rather than omitting it). - A `handle` COMC no longer serves returns `404`. Example response: ```json { "code": 200, "msg": "OK", "data": { "handle": "Cards/Football/2021/Panini_Absolute_-_Base_-_Red/36/Josh_Allen/17779360", "year": "2021", "set_description": "Panini Absolute - [Base] - Red", "card_number": "36", "subject": "Josh Allen", "image_url": "https://img.comc.com/i/Football/2021/Panini-Absolute---Base---Red/36/Josh-Allen.jpg", "total_listings": 2, "parallels": [ { "name": "[Base]", "handle": "Cards/Football/2021/Panini_Absolute_-_Base/36/Josh_Allen/17777799", "price": 1.29, "for_sale_count": 34 }, { "name": "Orange", "handle": "Cards/Football/2021/Panini_Absolute_-_Base_-_Orange/36/Josh_Allen/17778525", "sold_out": true } ], "listings": [ { "item_id": 156183522, "owner": "Severin", "owner_url": "https://www.comc.com/Users/Severin", "price": 1.04 }, { "item_id": 156183600, "owner": "crossroad", "owner_url": "https://www.comc.com/Users/crossroad", "price": 2.15 } ] } } ```
MCP tool comc_listing
/comc/categoriesReturns COMC's (comc.com) closed, top-level category/sport taxonomy -- the discovery endpoint for the search endpoint's `category` param. Every slug is the exact path segment comc.com's own site uses.
Response notes
- `kind` groups the taxonomy the way COMC's own nav does. Allowed values: `sports`, `trading`, `gaming`, `comics`. - Deliberately excludes several of COMC's own nav labels that are not their own category slug, but a query-filtered view within a parent category: "Star Trek" and "Garbage Pail Kids" are `Non-Sports` filtered by a keyword, "Star Wars TCG" and "Star Trek TCG" are `Gaming` filtered by a keyword, and "Ticket Stubs" is a `Publications` filtered by a keyword. Search for those by passing the parent category plus a matching `query` on `comc-search`, not as a separate category value. - `Star Wars` (trading-card category, not the gaming-card `Gaming` bucket) is the one slug that contains a literal space rather than a dash. Example response: ```json { "code": 200, "msg": "OK", "data": { "categories": [ {"slug": "Baseball", "name": "Baseball Cards", "kind": "sports"}, {"slug": "Football", "name": "Football Cards", "kind": "sports"}, {"slug": "Non-Sports", "name": "Non-Sports Cards", "kind": "trading"}, {"slug": "Star Wars", "name": "Star Wars Cards", "kind": "trading"}, {"slug": "Magic", "name": "Magic: the Gathering", "kind": "gaming"}, {"slug": "Comics", "name": "Comic Books", "kind": "comics"} ] } } ```
MCP tool comc_categories
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
How to scrape COMC
COMC is a consignment marketplace for trading cards where each search result row is one card-and-grade combination aggregated across every seller offering it. Crawlora's COMC endpoints return category taxonomy, keyword search results, and per-seller listing detail as normalized JSON -- no account.
List COMC's closed, top-level category/sport taxonomy with /comc/categories -- the same slugs comc.com's own site uses for the search endpoint's category parameter.
Send a keyword query, a category slug, or both to /comc/search, with optional sort, attribute, and condition (graded/ungraded) filters, for a paginated grid of card-and-grade result rows.
Pass a result row's handle to /comc/listing for that card-and-grade combination's full detail -- card identity plus every individual seller's own copy, owner, item id, and price.
FAQ
Send a keyword query, a category slug, or both to /comc/search, then pass a result row's handle to /comc/listing for the per-seller breakdown -- both as structured JSON, no account.
Pre-owned/consignment -- COMC listings are individual trading cards consigned by other collectors and sellers, not merchandise COMC manufactures itself.
COMC's own category/search grid aggregates every seller's copy of a given card-and-grade combination under one row. Pass that row's handle to /comc/listing to see each individual seller's own item id and price.
Yes -- /comc/search accepts a condition parameter (graded vs. ungraded) plus attribute filters, on top of its category and free-text query parameters.
Collecting publicly accessible listing, search, and category data is generally permissible if you respect COMC's terms of use, robots directives, rate limits, and applicable law.