OpenAPI Specification
openapi: 3.1.0
info:
title: Target Inventory Search API
description: Target provides partner APIs for product catalog access, inventory availability, order management, and store information. These APIs enable technology partners and affiliates to integrate with Target's retail platform. The Redsky aggregation platform powers client-managed REST APIs built on GraphQL queries covering product, price, promotion, and fulfillment data.
version: '1.0'
contact:
name: Target Developer Support
url: https://developer.target.com/
termsOfService: https://developer.target.com/terms
servers:
- url: https://api.target.com
description: Production
security:
- bearerAuth: []
tags:
- name: Search
description: Product search and discovery
paths:
/products/v3/search:
get:
operationId: searchProducts
summary: Search Products
description: Search Target's product catalog by keyword, category, brand, or other criteria. Returns matching products with relevance scoring.
tags:
- Search
parameters:
- name: q
in: query
required: true
description: Search query string
schema:
type: string
- name: category
in: query
required: false
description: Category filter
schema:
type: string
- name: brand
in: query
required: false
description: Brand filter
schema:
type: string
- name: price_min
in: query
required: false
description: Minimum price filter
schema:
type: number
- name: price_max
in: query
required: false
description: Maximum price filter
schema:
type: number
- name: sort_by
in: query
required: false
description: Sort order
schema:
type: string
enum:
- relevance
- price_asc
- price_desc
- rating
- newest
- name: limit
in: query
required: false
description: Number of results per page
schema:
type: integer
default: 20
maximum: 100
- name: offset
in: query
required: false
description: Pagination offset
schema:
type: integer
default: 0
responses:
'200':
description: Search results
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResults'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
schemas:
Price:
type: object
properties:
current_retail:
type: number
description: Current retail price
regular_retail:
type: number
description: Regular (non-sale) retail price
sale_price:
type: number
description: Sale price if applicable
is_on_sale:
type: boolean
description: Whether the product is currently on sale
currency:
type: string
default: USD
ProductDetail:
type: object
properties:
tcin:
type: string
description: Target Corporation Item Number
title:
type: string
description: Product title
description:
type: string
description: Product description
brand:
type: string
description: Brand name
category:
type: string
description: Product category path
images:
type: array
items:
$ref: '#/components/schemas/ProductImage'
price:
$ref: '#/components/schemas/Price'
rating:
$ref: '#/components/schemas/Rating'
dpci:
type: string
description: Department-class-item number
upc:
type: string
description: Universal Product Code
ProductImage:
type: object
properties:
url:
type: string
format: uri
description: Image URL
type:
type: string
description: Image type (primary, alternate, lifestyle)
width:
type: integer
height:
type: integer
SearchFacet:
type: object
properties:
name:
type: string
description: Facet name (brand, category, price, etc.)
values:
type: array
items:
type: object
properties:
value:
type: string
count:
type: integer
Rating:
type: object
properties:
average:
type: number
description: Average customer rating (0-5)
count:
type: integer
description: Total number of ratings
Error:
type: object
properties:
code:
type: string
description: Error code
message:
type: string
description: Human-readable error message
details:
type: string
description: Additional error details
SearchResults:
type: object
properties:
products:
type: array
items:
$ref: '#/components/schemas/ProductDetail'
total:
type: integer
description: Total matching results
limit:
type: integer
offset:
type: integer
facets:
type: array
items:
$ref: '#/components/schemas/SearchFacet'
responses:
Unauthorized:
description: Authentication credentials are missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequests:
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
externalDocs:
description: Target Developer Portal
url: https://developer.target.com/