API Documentation

Everything you need to start retrieving structured product data.

Quick Start

1. Create an account and generate an API key from your dashboard.

2. Include your API key in the Authorization header of every request.

3. Call any endpoint. All responses return JSON.

curl example
$ curl \
--request GET \
--url "https://itemapi.app/v1/ebay/search?q=wireless+headphones" \
--header "Authorization: Bearer ***"

Authentication

All API requests require authentication via a bearer token. Include your API key in the Authorization HTTP header.

# Header-based (recommended)
Authorization: Bearer <your_api_key>

API keys are generated from your dashboard. Each key can be named, revoked, and monitored independently.

Base URL

All endpoints are served from the following base URL:

https://itemapi.app

All requests must be made over HTTPS.

GET /v1/ebay/search

Search eBay product listings by keyword. Supports optional category filtering and pagination.

ParameterTypeRequiredDescription
qstringYesSearch keyword
categoryIdstringNoeBay category ID to scope results
pageintegerNoPage number (default: 1)
curl — eBay search
$ curl \
--request GET \
--url "https://itemapi.app/v1/ebay/search?q=nike&page=1" \
--header "Authorization: Bearer ***"

eBay — Product Details

GET /v1/ebay/product/{id}

Retrieve detailed information about a specific eBay product by its item ID.

ParameterTypeRequiredDescription
idstringYeseBay item ID (path parameter)
curl — eBay product details
$ curl \
--request GET \
--url "https://itemapi.app/v1/ebay/product/116684999755" \
--header "Authorization: Bearer ***"

eBay — Categories

GET /v1/ebay/categories

Retrieve the full eBay category structure. Use category IDs to scope your product searches.

$ curl \
--request GET \
--url "https://itemapi.app/v1/ebay/categories" \
--header "Authorization: Bearer ***"

Shopify — Collection Products

GET /v1/shopify/collection

Retrieve products from a Shopify storefront collection.

ParameterTypeRequiredDescription
shopstringYesShop identifier
collectionstringYesCollection handle
pageintegerNoPage number (default: 1)
sizeintegerNoItems per page (default: 48, max: 250)
$ curl \
--request GET \
--url "https://itemapi.app/v1/shopify/collection?shop=feCVoj8TvF&collection=frontpage&page=1&size=48" \
--header "Authorization: Bearer ***"
GET /v1/shopify/search

Search for products across indexed Shopify storefronts.

ParameterTypeRequiredDescription
keywordsstringYesSearch term
pageintegerNoPage number (default: 1)
sizeintegerNoItems per page

Shopify — Item Details

GET /v1/shopify/item

Retrieve detailed product information by internal Shopify product ID.

ParameterTypeRequiredDescription
idstringYesShopify product ID

Pagination

Endpoints that return lists support pagination via page and size parameters. Paginated responses include metadata in the response envelope.

Error Codes

StatusMeaning
200Success — response contains the requested data
401Unauthorized — missing or invalid Authorization header
402Payment Required — no active subscription
403Forbidden — API key is disabled or invalid
429Too Many Requests — request quota exhausted
5xxServer error — try your request again

Rate Limits

Requests are counted against your plan's quota. Each API call consumes one request. Unused requests do not roll over between billing cycles. When your quota is exhausted, the API returns HTTP 429 until your next cycle or plan upgrade.

Cache Behavior

Responses are cached for 5 minutes. Repeated requests for the same resource within the cache window return the cached data without consuming additional quota. The cached field in the response indicates whether the data was served from cache.