How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

IAB Tech Lab Products API

The Products API from IAB Tech Lab — 6 operation(s) for products.

IAB Tech Lab Products API is one of 43 APIs that IAB Tech Lab publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 16 JSON Schema definitions.

Tagged areas include Product. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, a changelog, and 16 JSON Schemas.

This API exposes 8 operations across 6 paths, and defines 45 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against a single base URL, https://opendirect.example.com/v1.5.1.

8 operations 6 paths 45 schemas 1 DELETE4 GET3 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://api.iabtechlab.com
Authentication
OAuth 2.0
Resource Areas
1

Authentication & Security 1

IAB Tech Lab Products API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (OauthSecurity) using the implicit flow, exposing 1 scope.

  • OauthSecurity — Example of one of OAuth 2.0 authorization flow that can be used according to specification.

Paths & Operations 8

Across 6 paths, the API surfaces 8 operations — 1 DELETE, 4 GET, 3 POST. Each is listed below with its method, path, parameters, and response codes.

Products 8
GET
/products
Paginated product catalog (filtering is client-side; no /products/search)
listProducts 2 params → 200
GET
/products/{product_id}
Product detail (the Product primitive, no wrapper)
getProduct 1 param → 200404
POST
/products/avails
Availability + pricing query (OpenDirect 2.1 spec dialect and legacy simplified…
checkAvails body → 200404422
POST
/products/search
Search Products
search_products_products_search_post body → 200422
GET
/products/{productId}
Get products by product id
getProductsByProductId 1 param → 200401404500
POST
/api/v1/products/{product_id}/inventory-type
Override Inventory Type
override_inventory_type_api_v1_products__product_id__inventory_type_post 3 params body → 200422
GET
/api/v1/products/{product_id}/inventory-type
Get Inventory Type Override
get_inventory_type_override_api_v1_products__product_id__inventory_type_get 1 param → 200422
DELETE
/api/v1/products/{product_id}/inventory-type
Delete Inventory Type Override
delete_inventory_type_override_api_v1_products__product_id__inventory_type_delete 1 param → 200422

Schemas 45

The contract defines 45 schemas that model the data the API accepts and returns. The most detailed are Product_2 (16 properties), ProductTargeting (11 properties), ProductAvailsSearch_2 (10 properties), ProductAvailsSearch (9 properties). Each schema is shown below with its type and property counts.

ValidationError
object
5 properties 3 required
HTTPValidationError
object
1 property
ProductSearchRequest
object
Request to search products.
5 properties
Segment
object
The segment object is made up of TARGET and TARGET VALUE reference data objects and is used to specify targeting options for a LINE resource
2 properties 2 required
DeliveryType
Defines the possible types of delivery.
Language
object
Defines a language that the API supports. The API may support all or a subset of the languages specified in ISO 639-1.
1 property 1 required
Error
object
4 properties 2 required
ProductAvailsSearch
object
The ProductAvailsSearch object is used to set search criteria used for listing all product availability and pricing within the given search criteria. The objec…
9 properties 4 required
RateType
Defines a unit of measure that a cost (i.e. BasePrice) is expressed in. The API may support all or a subset of the specified values.
ProductSearch
object
The ProductSearch object is used to generate a general list of products independent of their availability. For example, an agency might be interested in lookin…
6 properties
Target
Defines a target category. The API must support the specified target categories and may support additional categories such as zip code or postal code.
MaturityLevel
Defines a list of maturity levels. Current maturity level definitions comply with those provided in section 4.2.3 of the TAG's Inventory Quality Guidelines rel…
Identity
object
Common definition for all entities with identity.
1 property 1 required
AdFormatType
Defines the possible ad formats.
Products
object
1 property 1 required
FrequencyCapInterval
Defines the frequency cap intervals that the API supports. The frequency interval specifies the units in which the frequency count is expressed. For example, i…
TargetValue
Defines a target value. The API must support the specified values per target category.
InventoryType
Defines a list of devices that the product may serve on.
Errors
array
Product
A Product resource identifies anything from an ad placement to a Run of Network product in the publisher’s product catalog. Values for all supported fields are…
AdPosition
Defines the possible ad positions on a web page.
ProductAvails
object
The ProductAvails object returns product availability and pricing information.
4 properties 4 required
Avails
object
1 property 1 required
Size
object
The Size object defines the height and width (in pixels) that a publisher accepts. The size object populates publisher-accepted sizes in the GEOMETRY property…
2 properties 2 required
Currency
object
Defines a currency that the API supports. The API may support all or a subset of the currencies specified in ISO-4217.
1 property 1 required
PricingType
string
How a price signal should be interpreted. - fixed: price is set by the seller, use as-is - floor: minimum price; negotiation expected above this level - onrequ…
DeliveryType_2
string
Delivery type for a product (OpenDirect vocabulary). PMP = private marketplace.
Money
object
Exact money amount in integer micros (flagged decision FD-11). 1000000 micros = 1 currency unit — the ad-industry convention (Google Ad Manager, among others,…
2 properties 1 required
InventoryTypeOverride
object
Override inventory type classification for a product.
3 properties 2 required
ProductAvailsSearch_2
object
Spec REQUEST body for POST /products/avails. The published multi-product form: productids is an array, and accountid/advertiserbrandid are required. Use :meth:…
10 properties 5 required
PricingModel
string
Unit of pricing. Union of the buyer's RateType and the seller's PricingModel plus the linear TV additions. - cpm: cost per mille (thousand impressions) - cpmv:…
TargetingUnit
string
Spec ProductTargeting.type: how the entry is quantified.
CommercialTerms
object
Commercial capabilities a product supports (not binding terms).
5 properties
AvailsStatusReason
string
Spec AvailsStatus.reason: why inventory is not fully available.
ProductListResponse
object
Response envelope for GET /products.
4 properties 3 required
AvailsStatus
object
Spec Object: AvailsStatus — availability grouping for a product.
5 properties 2 required
TargetingDimension
string
Spec ProductTargeting.name: what the entry describes.
AvailsResponse
object
Response body for POST /products/avails. Honest-availability policy: every number is derived from catalog data — nothing is fabricated. Optional fields with no…
7 properties 4 required
DealType
string
Programmatic deal types. The short wire encoding is canonical. - PG = Programmatic Guaranteed: fixed price, guaranteed impressions - PD = Preferred Deal: fixed…
AvailsRequest
object
Request body for POST /products/avails. Spec-named fields use the OpenDirect 2.1 all-lowercase wire names; the extension fields (requestedImpressions/budget/ t…
6 properties 3 required
AvailsStatusValue
string
Spec AvailsStatus.status (note the space in the middle value).
Product_2
object
Sellable unit of publisher inventory. Merges the buyer's OpenDirect (the IAB direct-buying API standard) Product with the seller's taxonomy-driven Product. Tar…
16 properties 3 required
ProductTargeting
object
Spec Object: ProductTargeting — dimensional targeting/metrics. All-lowercase wire names per the normative table; the six starred attributes are required.
11 properties 6 required
Avails_2
object
Spec per-product RESPONSE record for POST /products/avails. price stays a float per the OpenDirect 2.1 decimal dialect (the FD-11 exception documented in the m…
8 properties 5 required
AvailsCollection
object
Spec response envelope: the avails collection object. Per the spec's Collection Objects table the POST /products/avails response must be an object whose array…
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

iab-tech-lab-products-api-openapi.yml Raw ↑

Other APIs IAB Tech Lab publishes across the network.

OpenRTB 2.x Protocol
AdCOM Protobuf
Agentic RTB Framework gRPC
VAST and VMAP Schemas
Supply Chain API
IAB Tech Lab A2a API
IAB Tech Lab Accounts API
IAB Tech Lab Agent Registry API
IAB Tech Lab Approvals API
IAB Tech Lab Assignments API
IAB Tech Lab Audience API
IAB Tech Lab Audit API
Where this information came from

This is an independent, third-party profile of IAB Tech Lab Products API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.