catalogapi-com · Schema
ItemsSearchResponse
Search results for catalog items with pagination
CompanyAPIRewardsGiftCardsGlobal
Properties
| Name | Type | Description |
|---|---|---|
| facets | array | Facets for refining search results |
| items | array | Array of catalog items for this page |
| matched_entities | array | Maps of IDs to names in search results, used for the current page as display only |
| page | integer | Current page number (1-based) |
| per_page | integer | Number of items per page |
| search_keys | object | Names of entities used in search filters (brand, category, tag) |
| searched_entities | array | Full details for entities that were used as search filters (from brand_id, brand_ids, category_id, tag_id parameters) |
| success | boolean | Indicates successful search |
| timestamp | string | When this search was performed |
| total_count | integer | Total number of items matching the search |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/catalogapi-com/json-schema/catalogapi-com-items-search-response-schema.json",
"title": "ItemsSearchResponse",
"description": "Search results for catalog items with pagination",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/catalogapi-com-openapi.yml#/components/schemas/ItemsSearchResponse",
"properties": {
"facets": {
"description": "Facets for refining search results",
"items": {
"properties": {
"count": {
"description": "Number of items with this facet",
"type": "integer"
},
"id": {
"description": "The tag or brand ID",
"type": "string"
},
"name": {
"description": "Name of the tag or brand",
"type": "string"
},
"type": {
"description": "The facet type",
"enum": [
"tag",
"brand"
],
"type": "string"
}
},
"required": [
"id",
"type",
"count"
],
"type": "object"
},
"type": "array"
},
"items": {
"description": "Array of catalog items for this page",
"items": {
"$ref": "#/$defs/CatalogItem"
},
"type": "array"
},
"matched_entities": {
"description": "Maps of IDs to names in search results, used for the current page as display only",
"items": {
"properties": {
"discount_percent": {
"description": "Discount percentage if this is a tag",
"type": [
"string",
"null"
]
},
"id": {
"description": "The ID of the matched entity",
"type": "integer"
},
"name": {
"description": "Name of the entity",
"type": "string"
},
"type": {
"description": "The entity type",
"enum": [
"tag",
"brand",
"category"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"page": {
"description": "Current page number (1-based)",
"type": "integer"
},
"per_page": {
"description": "Number of items per page",
"type": "integer"
},
"search_keys": {
"description": "Names of entities used in search filters (brand, category, tag)",
"properties": {
"brand": {
"description": "Brand names if brand_id or brand_ids was in search",
"items": {
"type": [
"string",
"null"
]
},
"type": "array"
},
"category": {
"description": "Category name if category_id was in search",
"type": [
"string",
"null"
]
},
"tag": {
"description": "Tag name if tag_id was in search",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"searched_entities": {
"description": "Full details for entities that were used as search filters (from brand_id, brand_ids, category_id, tag_id parameters)",
"items": {
"properties": {
"discount_percent": {
"description": "Discount percentage if this is a tag",
"type": [
"string",
"null"
]
},
"id": {
"description": "The ID of the searched entity",
"type": "integer"
},
"name": {
"description": "Name of the entity",
"type": "string"
},
"type": {
"description": "The entity type",
"enum": [
"tag",
"brand",
"category"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"success": {
"description": "Indicates successful search",
"type": "boolean"
},
"timestamp": {
"description": "When this search was performed",
"format": "datetime",
"type": "string"
},
"total_count": {
"description": "Total number of items matching the search",
"type": "integer"
}
},
"required": [
"success",
"timestamp",
"total_count",
"page",
"per_page",
"items"
],
"type": "object",
"$defs": {
"CatalogItem": {
"description": "A single catalog item with all its details",
"properties": {
"category_ids": {
"description": "Array of category IDs this item belongs to",
"items": {
"type": "integer"
},
"type": "array"
},
"shipping_estimate": {
"description": "Estimated shipping cost",
"format": "decimal",
"type": "string"
},
"price_high": {
"description": "Highest price across all variations of this product",
"format": "decimal",
"type": [
"string",
"null"
]
},
"is_primary": {
"description": "Whether this is a primary item",
"type": "boolean"
},
"original_points": {
"description": "Original points value before discounts",
"type": "integer"
},
"price": {
"description": "Current item price",
"format": "decimal",
"type": "string"
},
"item_type_id": {
"description": "Item type identifier",
"type": "integer"
},
"points_low": {
"description": "Lowest points value across all variations of this product",
"type": [
"integer",
"null"
]
},
"rank": {
"description": "Display rank/order",
"type": "integer"
},
"description": {
"description": "Detailed description of the item",
"type": "string"
},
"catalog_item_id": {
"description": "Unique identifier for this catalog item",
"type": "integer"
},
"face_currency": {
"description": "Currency of the face value",
"type": [
"string",
"null"
]
},
"supplier_reference_id": {
"description": "Supplier's reference ID",
"type": "string"
},
"images": {
"description": "Array of product images",
"items": {
"$ref": "#/$defs/CatalogItemImage"
},
"type": "array"
},
"name": {
"description": "Display name of the item",
"type": "string"
},
"product_id": {
"description": "Product identifier UUID",
"type": [
"string",
"null"
]
},
"retail_price": {
"description": "Retail price",
"format": "decimal",
"type": "string"
},
"fulfillment_type": {
"description": "How this item is fulfilled",
"type": "string"
},
"price_low": {
"description": "Lowest price across all variations of this product",
"format": "decimal",
"type": [
"string",
"null"
]
},
"is_available": {
"description": "Whether the item is available",
"type": "boolean"
},
"is_explicit": {
"description": "Whether the item contains explicit content",
"type": "boolean"
},
"is_limited_stock": {
"description": "Whether the item has limited stock",
"type": "boolean"
},
"brand_id": {
"description": "Brand identifier",
"type": "integer"
},
"availability": {
"description": "Availability status description",
"type": "string"
},
"original_price": {
"description": "Original item price before discounts",
"format": "decimal",
"type": "string"
},
"face_value": {
"description": "Face value of the item (e.g., gift card value)",
"format": "decimal",
"type": [
"string",
"null"
]
},
"model": {
"description": "Model number",
"type": "string"
},
"product_options": {
"additionalProperties": {
"items": {
"properties": {
"order": {
"description": "Display order for this option",
"type": "string"
},
"slug": {
"description": "Option identifier (e.g., 'color', 'size')",
"type": "string"
},
"translations": {
"description": "Translations for option name and value",
"items": {
"properties": {
"language": {
"type": "string"
},
"option_name": {
"type": "string"
},
"value_name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"value": {
"description": "Option value (e.g., 'blue', 'large')",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"description": "Available options for all variations of this product, keyed by catalog_item_id",
"type": "object"
},
"points_high": {
"description": "Highest points value across all variations of this product",
"type": [
"integer",
"null"
]
},
"supplier_id": {
"description": "Supplier identifier",
"type": "integer"
},
"product_name": {
"description": "An alternate name describing an item that is a variation",
"type": [
"string",
"null"
]
},
"required_fields": {
"description": "Fields required for ordering this item (loaded from the index during cart verify)",
"properties": {
"address_1": {
"description": "Whether address line 1 is required",
"type": "boolean"
},
"address_2": {
"description": "Whether address line 2 is required",
"type": "boolean"
},
"address_3": {
"description": "Whether address line 3 is required",
"type": "boolean"
},
"address_4": {
"description": "Whether address line 4 is required",
"type": "boolean"
},
"city": {
"description": "Whether city is required",
"type": "boolean"
},
"country": {
"description": "Whether country is required",
"type": "boolean"
},
"email": {
"description": "Whether email is required",
"type": "boolean"
},
"given_name": {
"description": "Whether given name is required",
"type": "boolean"
},
"phone_number": {
"description": "Whether phone number is required",
"type": "boolean"
},
"postal_code": {
"description": "Whether postal code is required",
"type": "boolean"
},
"state_or_region": {
"description": "Whether state/region is required",
"type": "boolean"
},
"surname": {
"description": "Whether surname is required",
"type": "boolean"
}
},
"type": "object"
},
"is_taxable": {
"description": "Whether the item is taxable",
"type": "boolean"
},
"brand": {
"description": "Brand name",
"type": "string"
},
"tag_ids": {
"description": "Array of tag IDs associated with this item",
"items": {
"type": "integer"
},
"type": "array"
},
"points": {
"description": "Current points value for this item",
"type": "integer"
}
},
"required": [
"catalog_item_id",
"product_id",
"name",
"description",
"brand",
"brand_id",
"model",
"category_ids",
"tag_ids",
"item_type_id",
"supplier_id",
"supplier_reference_id",
"availability",
"is_available",
"is_primary",
"is_limited_stock",
"is_taxable",
"is_explicit",
"fulfillment_type",
"price",
"points",
"original_price",
"original_points",
"retail_price",
"shipping_estimate",
"images",
"product_options",
"rank",
"required_fields"
],
"title": "CatalogItem",
"type": "object"
},
"CatalogItemImage": {
"description": "Product image with multiple size variations",
"properties": {
"alt": {
"description": "Alt text for accessibility",
"type": "string"
},
"is_primary": {
"description": "Whether this is the primary image for the product",
"type": "boolean"
},
"order": {
"description": "Display order for this image",
"type": "integer"
},
"urls": {
"description": "URLs for different image sizes and ratios",
"properties": {
"image_150_1_1": {
"description": "150px square (1:1 ratio)",
"type": "string"
},
"image_150_3_2": {
"description": "150px width (3:2 ratio)",
"type": "string"
},
"image_300_1_1": {
"description": "300px square (1:1 ratio)",
"type": "string"
},
"image_300_3_2": {
"description": "300px width (3:2 ratio)",
"type": "string"
},
"image_500_1_1": {
"description": "500px square (1:1 ratio)",
"type": "string"
},
"image_500_3_2": {
"description": "500px width (3:2 ratio)",
"type": "string"
},
"image_75_1_1": {
"description": "75px square (1:1 ratio)",
"type": "string"
},
"image_75_3_2": {
"description": "75px width (3:2 ratio)",
"type": "string"
}
},
"required": [
"image_75_1_1",
"image_150_1_1",
"image_300_1_1",
"image_500_1_1",
"image_75_3_2",
"image_150_3_2",
"image_300_3_2",
"image_500_3_2"
],
"type": "object"
}
},
"required": [
"is_primary",
"order",
"alt",
"urls"
],
"title": "CatalogItemImage",
"type": "object"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/catalogapi-com-items-search-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.