Search inventory
Filtered catalogue rows, cheapest first, one per offer (a domain carried by several suppliers appears several times; POST /v1/quote collapses that). Unknown parameters are refused with 400 unknown_parameter. Rows count against the hourly and monthly read allowances; there is no geo filter — filter on the returned geo client-side.
Request
- Base URL: https://api.placementapi.com
- URL: https://api.placementapi.com/v1/offers
- Auth: HTTP bearer
Query parameters
Placement type.
The most important field. 'named' = a specific, identified domain you can inspect before ordering. 'pre_approval' = the vendor proposes candidate domains and the buyer approves them BEFORE placement. 'blind' = a promise (e.g. DR50+, finance) where the domain is assigned at fulfilment with no veto. Only 'named' carries a site_id. Never present a pre_approval or blind offer as though a specific site were secured, and never price-compare a specification against a named domain as the same product.
named | pre_approval | blind.
Minimum DR, 0-100. Matches the site's claimed DR, or the vendor's guaranteed minimum on blind inventory. Never the measured verified_dr, which is on a 0-1000 scale.
Minimum guaranteed Majestic referring domains. Only blind tiers sold on RD carry this guarantee; the RD and DR scales are never translated into each other.
Minimum monthly traffic: measured where known, else claimed, else the blind guarantee floor.
Maximum price per placement, USD minor units (cents).
Price floor, USD minor units. A quality filter, not a budget one: a price far below the going rate for the claimed DR is evidence the DR was bought.
Only domains measured independently AND passed. Stricter than excluding suspect domains, because it also drops the unmeasured.
Gambling, adult and piracy sites are excluded unless topic/accepts names the vertical or this is true.
Keep only placements at or above this percentile of their own price band (placement type x inventory mode x claimed-DR decade). The measured form of price_min.
Opaque supplier token taken from the prefix of any offer_id. Filters to one source without naming it. Real supplier names are not accepted and match nothing.
The supplier's own raw label. Prefer topic.
Harmonised subject (e.g. finance, travel, health, technology). Repeatable; repeats are OR-ed.
Restricted vertical the placement must accept (crypto, gambling, cbd, vape, adult, dating, pharma, forex). Repeatable; repeats are AND-ed. An empty accepts array on an offer means UNKNOWN, not 'accepts nothing'.
Rows per page.
Maximum 10,000: the catalogue is for searching, not enumerating.
Response
OK
Example response
{
"offers": [
{
"plausibility": {
"band": "guest_post named DR 50-59"
}
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.