Target APItarget.com ↗
Search Target's product catalog, check in-store availability at nearby stores, retrieve product details, and browse gift registries via a single REST API.
What is the Target API?
The Target.com API covers 6 endpoints that expose Target's product catalog, real-time in-store pickup availability, and gift registry data. Use search_products to query the catalog by keyword with pricing and rating metadata, get_product to fetch full product details by TCIN including feature highlights and multiple images, and check_store_availability to see per-store stock levels and estimated pickup dates for up to 5 nearby locations.
curl -X GET 'https://api.parse.bot/scraper/9935e57e-18c2-4c7c-aebe-bc311e983dc8/search_products?zip=10001&count=5&title=Max&offset=0&keyword=airpods&sort_by=relevance' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search over Target.com product catalog by keyword. Returns paginated product listings with pricing, ratings, brand, and availability metadata. Server-side sort controls result ordering. Pagination uses offset-based addressing where each page holds up to `count` items. An optional client-side title filter narrows results to products whose title contains the given substring (case-insensitive).
| Param | Type | Description |
|---|---|---|
| zip | string | 5-digit US ZIP code for local pricing and store availability |
| count | integer | Number of results per page (max 24) |
| title | string | Optional substring filter on product titles (case-insensitive). When provided, only products whose title contains this string are returned. |
| offset | integer | Offset for pagination (0-based) |
| keywordrequired | string | Search keyword (e.g. 'airpods', 'nintendo switch') |
| sort_by | string | Sort order for results |
{
"type": "object",
"fields": {
"count": "integer - number of results returned",
"offset": "integer - current offset",
"keyword": "string - the search keyword used",
"products": "array of product objects with tcin, title, url, image_url, brand, price, regular_price, price_type, current_retail, save_percent, rating, rating_count, item_type",
"total_pages": "integer - total pages available",
"current_page": "integer - current page number",
"total_results": "integer - total number of matching products"
},
"sample": {
"data": {
"count": 24,
"offset": 0,
"keyword": "airpods",
"products": [
{
"url": "https://www.target.com/p/apple-airpods-max-160-2-160-midnight/-/A-80585769",
"tcin": "80585769",
"brand": "Apple",
"price": "$499.99",
"title": "Apple AirPods Max 2 - Midnight",
"rating": null,
"image_url": "",
"item_type": "Headphones",
"price_type": "sale",
"parent_tcin": "1010453160",
"parent_title": "Apple AirPods Max 2",
"rating_count": null,
"save_percent": 9,
"regular_price": "$549.99",
"current_retail": 499.99
}
],
"total_pages": 21,
"current_page": 1,
"total_results": 491
},
"status": "success"
}
}About the Target API
Product Search and Catalog
The search_products endpoint accepts a required keyword parameter and returns paginated product listings — up to 24 per page via the count parameter — with fields including tcin, title, brand, price, regular_price, save_percent, price_type, image_url, and url. Pass a zip parameter to surface location-specific pricing. Sort order is controlled via sort_by, and pagination uses offset alongside total_pages and total_results to step through large result sets. The get_product endpoint accepts a tcin (Target product ID) and returns the full detail view: description, features array, images array (primary image first), item_type, rating, and current pricing fields.
Store Availability and Inventory
check_store_availability takes a tcin and an optional zip code and returns real-time pickup data for up to 5 nearby Target stores. The response includes per-store fields for stock quantity, availability status, and estimated pickup date, alongside a top-level shipping status and sold_out flag. TCINs for availability lookups can be sourced from search_products, get_popular_skus, or get_random_skus.
Catalog Sampling and Discovery
get_popular_skus returns the current bestseller list across all categories sorted by bestselling rank — no category or keyword filter is applied — with the same product-level fields as search results. get_random_skus samples across categories including Electronics, Home, Baby, Grocery, and Furniture using randomized offsets, making it suitable for catalog auditing or dataset construction; each call returns a different set of products, up to 50,000 unique SKUs.
Gift Registries
get_registries searches Target gift registries by registrant first_name, last_name, and optional registry_type (BABY, WEDDING, or WISHLIST). Only registries with at least 3 in-stock, buyable items are returned. Each registry object in the response includes registry_id, registry_title, registry_type, registry_link, registrant names, and full item details with pricing and availability.
The Target API is a managed, monitored endpoint for target.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when target.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official target.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a price-tracking tool that monitors
regular_pricevspriceandsave_percentfor a watchlist of Target TCINs. - Check in-store pickup availability across multiple ZIP codes for a product before driving to a store.
- Populate a product catalog dataset by sampling the full Target inventory range using
get_random_skusacross categories. - Identify top-selling Target products across all categories using
get_popular_skussorted by bestselling rank. - Integrate Target gift registry search into a wedding or baby shower planning app using
get_registrieswith registry type filtering. - Compare Target pricing against other retailers by extracting
current_retailandprice_typefields from keyword searches. - Retrieve full product specifications and feature highlights via
get_productto populate comparison pages.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Target have an official public developer API?+
What does `check_store_availability` return beyond a simple in-stock flag?+
stores array where each entry includes per-store stock quantity, availability status, and an estimated pickup date, alongside top-level sold_out and shipping status fields. Results reflect up to 5 Target stores near the provided ZIP code.What is a TCIN and where do I get one?+
get_product and check_store_availability endpoints both require one. You can obtain TCINs from the tcin field in results returned by search_products, get_popular_skus, or get_random_skus.Does the API return customer reviews or review text for products?+
rating value but do not expose individual review text, reviewer names, or review counts. You can fork this API on Parse and revise it to add an endpoint that retrieves per-product review listings.Does `search_products` support filtering by category, price range, or brand?+
sort_by ordering but does not currently expose facet filters for category, price range, or brand as discrete parameters. The get_random_skus endpoint samples across named categories internally but does not accept a category filter input. You can fork this API on Parse and revise it to add category or facet filter parameters.