Collectibles – Text Search
Please note that listing information may not be available for all items. Due to API limitations and data retention policies set by most of the marketplaces, the data presented here (including price and availability) may not be in real-time and up-to-date. In accordance with our partners' terms (TOS), we use this data solely to promote their marketplaces and provide direct links to the marketplace (item_link
) - you are only able to purchase the item directly from the marketplace.
This system is part of our Collectibles Recognition service - a visual identification system. It allows you to identify the card from picture, see listings and go to the marketplace (for example eBay) to purchase the card. To access the Collectibles Text Search service please contact us at tech@ximilar.com. Usually this service is available to users on the Business plan or higher.
This service is intended as a discovery tool to promote marketplaces. If you would like to publish your own listings from your marketplace and increase your visibility and revenue, please contact us at tech@ximilar.com.
This page describes the API for the Collectibles Text Search service. It allows you to search database of collectible items and their listings information using text queries and filter results by attributes such as grading company, publisher, or year.
The API has four endpoints right now: one for searching the TCG card catalog, one for TCG card listings, one for Comic/Manga listings, and one for Sports card listings. Currently supported endpoints:
https://api.ximilar.com/collectibles/text/v2/tcg/list // Search catalog of trading cards
https://api.ximilar.com/collectibles/text/v2/tcg/pricing // Search listings of trading cards
https://api.ximilar.com/collectibles/text/v2/comics/pricing // Search listings of comics/manga
https://api.ximilar.com/collectibles/text/v2/sport/pricing // Search listings of sports cards
Disclaimer on Data Accuracy and Service Use
-
Purpose of Service: This service is intended as a discovery tool to promote marketplaces. In compliance with their terms, we do not store historical data indefinitely and act only as a facilitator to help you find items.
-
Verification and Purchase: All transactions must be completed on the source marketplace's official website. Before making any commitment or purchase, it is essential that you click the provided link and verify all information—including price, condition, and seller details—directly on the marketplace platform. Our service is not the point of sale.
-
Data Timeliness and Accuracy: The listing data presented through our service is sourced from various online marketplaces. Due to API restrictions, marketplace TOS and data usage policies required by these platforms (marketplaces), information such as price, stock availability, and item details may be delayed or may have changed since it was last updated. We provide this data "as-is" and cannot guarantee its real-time accuracy.
TCG Catalog Text Search
This endpoint lets you search our catalog of collectible trading cards using text queries like card names, sets, or series, or any other textual information related to collectibles.
It supports multiple categories, including Pokémon, Yu-Gi-Oh!, Magic: The Gathering, One Piece, Lorcana, and many more (see full taxonomy).
Required attributes
- Name
query_record
- Type
- dict
- Description
A record containing the search query. Must include a
_text_data
field with the search text.
Optional attributes
- Name
page
- Type
- integer
- Default
- Default:1
- Description
Page number for pagination (starts from 1).
- Name
size
- Type
- integer
- Default
- Default:10
- Max
- Maximum:20
- Description
Number of results per page.
- Name
k
- Type
- integer
- Description
Number of top results to consider for relevance ranking.
- Name
filter
- Type
- str
- Description
String filter. Supported operators include:
=, !=, >, >=, <, <=, EXISTS
. See available filter fields below.
Returns
HTTP error code 2XX, if the method was OK, and other HTTP error code, if the method failed. The response body is a JSON object with the following fields:
- Name
answer_records
- Type
- array
- Description
An array of collectible items matching the search query, each containing detailed information about the item including name, set, series, rarity, and other attributes.
- Name
answer_count
- Type
- integer
- Description
Total number of items matching the search query across all pages.
- Name
page
- Type
- integer
- Description
Current page number.
- Name
totalPages
- Type
- integer
- Description
Total number of pages.
Request
curl --location 'https://api.ximilar.com/collectibles/text/v2/tcg/list' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token __API_TOKEN__' \
--data '{
"query_record": {
"_text_data": "Pikachu ex 247 Surging Sparks"
},
"page": 1,
"size": 10,
"filter": "lang = 'en'"
}'
Response
{
"answer_count": 571,
"answer_records": [
{
"Subcategory": "Pokemon",
"_id": "eb863290-c435-4b48-9ea5-ae3dc73fec4e",
"card_number": "247",
"lang": "en",
"name": "Pikachu ex",
"rarity": "Hyper Rare",
"series": "Scarlet & Violet",
"set": "Surging Sparks",
"set_code": "SSP",
"year": 2024
},
{
"Subcategory": "Pokemon",
"_id": "bc8f12eb-894e-46bc-ae81-48f2aff424fa",
"card_number": "057",
"lang": "en",
"name": "Pikachu ex",
"rarity": "Double Rare",
"series": "Scarlet & Violet",
"set": "Surging Sparks",
"set_code": "SSP",
"year": 2024
},
{
"Subcategory": "Pokemon",
"_id": "2bc0df4a-3d2c-47fa-a3d7-688add47a4fa",
"card_number": "179",
"lang": "en",
"name": "Pikachu ex",
"rarity": "Hyper Rare",
"series": "Scarlet & Violet Series",
"set": "Prismatic Evolutions",
"set_code": "PRE",
"year": 2025
},
...
],
"page": 1,
"query_records": [
"Pikachu ex 247 Surging Sparks"
],
"size": 10,
"statistics": {
"OperationTime": 718
},
"totalPages": 58
}
Available filter fields
You can filter the results using the filter
parameter with the following fields:
Subcategory
: e.g., Pokemon, Magic The Gatheringlang
: language code (jp
,en
,zh_TW
,zh_CN
)set_code
: set code of the game (string)year
: year of release (numerical value)card_number
: card number (string)
Filter examples
"Subcategory = 'Magic The Gathering'"
"set_code = 'BW1'"
"lang = 'jp'"
"card_number = '247'"
"year < 2020"
The whole request with filter:
cURL
curl --location 'https://api.ximilar.com/collectibles/text/v2/tcg/list' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token __API_TOKEN__' \
--data '{
"query_record": {
"_text_data": "Snow"
},
"filter": "Subcategory = 'Magic The Gathering'"
"page": 1,
"size": 10
}'
TCG Listings Text Search
This endpoint lets you search for trading card game (TCG) listings data using text queries.
It returns listings (item_link
) from sources like eBay, Rakuten and Rakuma. Please read the Disclaimer on Data Accuracy and Service Use section.
Required attributes
- Name
query_record
- Type
- dict
- Description
A record containing the search query. Must include a
_text_data
field with the search text.
Optional attributes
- Name
page
- Type
- integer
- Default
- Default:1
- Description
Page number for pagination (starts from 1).
- Name
size
- Type
- integer
- Default
- Default:10
- Max
- Maximum:20
- Description
Number of results per page.
- Name
k
- Type
- integer
- Description
Number of top results to consider for relevance ranking.
- Name
filter
- Type
- str
- Description
String filter. Supported operators include:
=, !=, >, >=, <, <=, EXISTS
. See available filter fields below.
Returns
HTTP error code 2XX, if the method was OK, and other HTTP error code, if the method failed. The response body is a JSON object with the following fields:
- Name
answer_records
- Type
- array
- Description
An array of collectible items that match the search query. Each item includes details such as
name
,set
,series
,rarity
,price
, and other attributes.
- Name
answer_count
- Type
- integer
- Description
Total number of items matching the search query across all pages.
- Name
page
- Type
- integer
- Description
Current page number.
- Name
totalPages
- Type
- integer
- Description
Total number of pages.
Request
curl --location 'https://api.ximilar.com/collectibles/text/v2/tcg/pricing' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token __API_TOKEN__' \
--data '{
"query_record": {
"_text_data": "pikachu ex 57"
},
"page": 1,
"size": 20,
"k": 10,
"filter": "source = 'eBay' AND country_code = 'US'"
}'
Response
{
"answer_count": 23,
"answer_records": [
{
"Subcategory": "Pokemon",
"_id": "f8f5e9a3-58d8-4ab3-9301-7dfd6ee11cdf",
"country_code": "US",
"currency": "USD",
"date_of_creation": "2025-03-18",
"date_of_sale": null,
"grade": null,
"grade_company": null,
"item_id": "v1|226652678923|0",
"item_link": "https://www.ebay.com/itm/226652678923",
"name": "Pokémon TCG Pikachu EX Power Keepers 57/108 Reverse Holo Common",
"price": 29.95,
"price_created": 29.95,
"price_sold": null,
"product_id": "9cd99375-fc93-4e3f-8a44-09475a31570e",
"source": "eBay",
"variation": null,
"version": "Non-Foil"
},
...
],
"page": 1,
"query_records": [
"pikachu ex 57"
],
"size": 10,
"statistics": {
"OperationTime": 4
},
"totalPages": 3
}
Available filter fields
You can use the filter
parameter to narrow pricing results by:
Subcategory
: e.g., Pokemon, Magic The Gatheringcountry_code
: Country code (e.g., 'US', 'JP', )price
: item price (supports comparison operators)source
: data source (marketplaces such as 'eBay', 'TCGPlayer')grade_company
: grading company (e.g., 'PSA', 'BGS', 'CGC')grade
: grade value (e.g., '10', '9', '8')date_of_sale
: sale date (YYYY-MM-DD format)date_of_creation
: when the listing was added (YYYY-MM-DD format)product_id
: ID from our product catalog
Filter examples
"Subcategory = 'Pokemon'"
"source = 'eBay' AND country_code = 'US'"
"grade_company = 'PSA' AND grade >= '9'"
"price > 90 AND price < 100"
"date_of_sale >= '2024-01-01'"
"product_id = '9cd99375-fc93-4e3f-8a44-09475a31570e'"
"date_of_creation >= '2024-01-01'"
"price_sold > 0"
Comics Listings Text Search
This endpoint lets you search for comic book listings data using text queries.
It returns listings (item_link
) from sources like eBay, Rakuten and Rakuma. Please read the Disclaimer on Data Accuracy and Service Use section.
Required attributes
- Name
query_record
- Type
- dict
- Description
A record containing the search query. Must include a
_text_data
field with the search text.
Optional attributes
- Name
page
- Type
- integer
- Default
- Default:1
- Description
Page number for pagination (starts from 1).
- Name
size
- Type
- integer
- Default
- Default:10
- Max
- Maximum:20
- Description
Number of results per page.
- Name
k
- Type
- integer
- Description
Number of top results to consider for relevance ranking.
- Name
filter
- Type
- str
- Description
String filter. Supported operators include:
=, !=, >, >=, <, <=, EXISTS
. See available filter fields below.
Returns
HTTP error code 2XX, if the method was OK, and other HTTP error code, if the method failed. The response body is a JSON object with the following fields:
- Name
answer_records
- Type
- array
- Description
An array of comic items matching the search query, each containing detailed information about the item such as
name
,issue number
,price_created
, orprice_sold
.
- Name
answer_count
- Type
- integer
- Description
Total number of items matching the search query across all pages.
- Name
page
- Type
- integer
- Description
Current page number.
- Name
totalPages
- Type
- integer
- Description
Number of total pages.
Request
curl --location 'https://api.ximilar.com/collectibles/text/v2/comics/pricing' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token __API_TOKEN__' \
--data '{
"query_record": {
"_text_data": "The punisher 102"
},
"page": 1,
"size": 10,
"k": 10
}'
Response
{
"answer_count": 1000,
"answer_records": [
{
"_id": "2dab3ee8-2d42-4a6f-9185-de093a4a6d1b",
"country_code": "US",
"currency": "USD",
"date_of_creation": "2025-05-25",
"date_of_sale": null,
"grade": null,
"grade_company": "CGC",
"item_id": "v1|205510396417|0",
"item_link": "https://www.ebay.com/itm/205510396417",
"name": "Amazing Spider-Man #50 (7/67) CGC1.0 4548970002 1st Kingpin Appearance",
"price": 350.0,
"price_created": 350.0,
"price_sold": null,
"product_id": "8c23cf5a-66b4-4f4e-a362-7fa7cea500e2",
"source": "eBay",
"variation": null,
"version": null
},
...
],
"page": 1,
"query_records": [
"Amazing Spider-Man 50"
],
"size": 10,
"statistics": {
"OperationTime": 1
},
"totalPages": 100
}
Available filter fields
You can use the filter
parameter to narrow pricing results by:
country_code
: country code (e.g., 'US', 'CA')price
: price value (supports comparison operators)price_created
: original listing priceprice_sold
: sold price (if available)source
: data source (marketplaces like 'eBay')grade_company
: grading company (e.g., 'CGC', 'CBCS')grade
: grade value (e.g., '9.8', '9.6', '9.4')date_of_creation
: date the item was submittedproduct_id
: ID from our product catalog
Filter examples
"country_code = 'US'"
"source = 'eBay'"
"grade_company = 'CGC' AND grade >= '9.0'"
"price > 50 AND price < 100"
"date_of_creation >= '2024-01-01'"
"date_of_sale >= '2024-01-01'"
"product_id = '4f01f084-5e2b-49ba-9929-67f1249fab87'"
"price_sold > 0"
"grade_company = 'CGC'"
Sports Cards Listings Text Search
This endpoint lets you search for sports card listings data using text queries.
It returns listings (item_link
) from sources like eBay, Rakuten and Rakuma. Please read the Disclaimer on Data Accuracy and Service Use section.
Required attributes
- Name
query_record
- Type
- dict
- Description
A record containing the search query. Must include a
_text_data
field with the search text.
Optional attributes
- Name
page
- Type
- integer
- Default
- Default:1
- Description
Page number for pagination (starts from 1).
- Name
size
- Type
- integer
- Default
- Default:10
- Max
- Maximum:20
- Description
Number of results per page.
- Name
k
- Type
- integer
- Description
Number of top results to consider for relevance ranking.
- Name
filter
- Type
- str
- Description
String filter. Supported operators include:
=, !=, >, >=, <, <=, EXISTS
. See available filter fields below.
Returns
HTTP error code 2XX, if the method was OK, and other HTTP error code, if the method failed. The response body is a JSON object with the following fields:
- Name
answer_records
- Type
- array
- Description
An array of sports card items matching the search query, each containing detailed information about the item such as
name
,Subcategory
,price_created
,price_sold
,grade
, and other attributes.
- Name
answer_count
- Type
- integer
- Description
Total number of items matching the search query across all pages.
- Name
page
- Type
- integer
- Description
Current page number.
- Name
totalPages
- Type
- integer
- Description
Total number of pages.
Request
curl --location 'https://api.ximilar.com/collectibles/text/v2/sport/pricing' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token __API_TOKEN__' \
--data '{
"query_record": {
"_text_data": "michael jordan 1993 skybox"
},
"page": 1,
"size": 10,
"k": 10
}'
Response
{
"answer_count": 1000,
"answer_records": [
{
"Subcategory": "Basketball",
"_id": "534d3075-0e44-45f9-8776-b3a892708122",
"country_code": "US",
"currency": "USD",
"date_of_creation": "2025-05-01",
"date_of_sale": null,
"grade": 8.5,
"grade_company": "SGC",
"item_id": "v1|335939375891|545483627395",
"item_link": "https://www.ebay.com/itm/335939375891?var=545483627395",
"name": "1993-94 Skybox Premium Dynamic Dunks Michael Jordan #D4 SGC 8.5 HOF",
"price": 93.4,
"price_created": 93.4,
"price_sold": null,
"product_id": "c0911e4c-6fd4-4f91-abea-a1abe97e7c78",
"source": "eBay",
"variation": null,
"version": "Non-Foil"
},
...
],
"page": 1,
"query_records": [
"michael jordan 1993 skybox"
],
"size": 10,
"statistics": {
"OperationTime": 3
},
"totalPages": 100
}
Available filter fields
You can use the filter
parameter to narrow pricing results by:
Subcategory
: e.g., Basketball, Baseball, Football, Hockeycountry_code
: country code (e.g., 'US', 'CA')price
: price value (supports comparison operators)price_created
: original listing priceprice_sold
: sold price (if available)source
: data source (marketplaces like 'eBay')grade_company
: grading company (e.g., 'PSA', 'BGS', 'SGC')grade
: grade value (e.g., '10', '9.5', '9', '8')date_of_creation
: date the item was submitteddate_of_sale
: sale date (YYYY-MM-DD format)product_id
: ID from our product catalog
Filter examples
"Subcategory = 'Basketball'"
"source = 'eBay'"
"grade_company = 'PSA' AND grade >= '9.0'"
"price > 50 AND price < 200"
"date_of_creation >= '2024-01-01'"
"date_of_sale >= '2024-01-01'"
"product_id = 'c0911e4c-6fd4-4f91-abea-a1abe97e7c78'"
"price_sold > 0"
"version = 'Non-Foil'"
"country_code = 'US'"