---
title: "Search buyable media outlets"
method: GET
path: "/api/agent/v1/outlets"
---

# Search buyable media outlets

`GET /api/agent/v1/outlets`

## Request

- Base URL: `https://essentras.com`
- URL: `https://essentras.com/api/agent/v1/outlets`
- Auth: one of:
  - none
  - HTTP bearer

Public. With an API key (catalog:read) the response carries the caller's own prices, including reseller price books, and priced_for is account. Filters such as min_price and max_price apply to list price.

## Query parameters

- `q` string
- `country` string
- `region` string
- `language` string
- `topic` string
- `min_price` integer
- `max_price` integer
- `min_da` integer
- `min_dr` number
- `max_turnaround_days` integer
- `state` string
- `city` string
- `dofollow` boolean
- `indexed` boolean
- `sort` 'popularity' | 'price_asc' | 'price_desc' | 'authority_desc' | 'traffic_desc'
- `limit` integer
- `offset` integer

## Response `200`

Matching offers

- object
  - `total` integer
  - `limit` integer
  - `offset` integer
  - `has_more` boolean
  - `results` object[]
    - `id` string: Stable outlet id (the publisher slug). Use this in /quote.
    - `type` 'media_placement'
    - `name` string
    - `outlet` object
      - `name` string
      - `website` string, nullable
      - `country` string, nullable
      - `region` string, nullable
      - `languages` string[]
      - `topics` string[]
      - `domain_authority` integer, nullable
      - `domain_rating` number, nullable
      - `monthly_traffic` integer, nullable
    - `price` object
      - `amount` number: The price charged to the caller (a reseller price when a reseller key is used).
      - `list_amount` number: List price. Present with an API key.
      - `basis` 'list' | 'reseller_fixed' | 'reseller_discount': Present with an API key.
      - `currency` 'USD'
      - `unit` 'per_placement'
    - `delivery` object
      - `turnaround` string, nullable: Raw supplier value, for example "3-5 Days" or "240 hours".
      - `turnaround_window` string, nullable: The window the outlet page shows, for example "1-2 weeks" or "3-5 business days". Quote this one to a buyer.
      - `billing_trigger` 'on_order': Charged when the order is placed; refunded if not published or if the turnaround is missed (turnaround counted in business days, paused while we wait on you, plus a 3 business day grace period; see https://essentras.com/legal/refunds).
    - `link` object
      - `dofollow` boolean
      - `indexed` 'YES' | 'NO' | 'MAYBE'
      - `sponsored_tag` 'YES' | 'NO' | 'DISCRETE'
      - `disclosure` string
    - `availability` 'in_stock'
    - `url` string, uri
    - `buy_url` string, uri, nullable: Hand this to the buyer to approve and pay. Null for reseller keys: buy through POST /orders.
    - `order_endpoint` string, uri
    - `priced_for` 'account': Present with an API key.

---

[API](https://skmtc.dev/essentras/apis/essentras-agent-api.md) · [All operations](https://skmtc.dev/essentras/apis/essentras-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/essentras/apis/essentras-agent-api/revisions/17a4d739e1b1?raw)
