---
title: "Search published catalog items"
method: GET
path: "/v1/publications"
tags: ["find_publications"]
---

# Search published catalog items

`GET /v1/publications`

## Request

- Base URL: `https://api.buzzdealer.ai`
- URL: `https://api.buzzdealer.ai/v1/publications`
- Auth: HTTP bearer

Same behavior as the MCP tool find_publications.

## Query parameters

- `product_type` 'site' | 'pr_package' | 'bundle' | 'program' | 'service'
- `category` string
- `region` string
- `language` string
- `max_price_cents` integer
- `dofollow` boolean
- `min_dr` integer
- `query` string
- `limit` integer
- `goal` 'reputation' | 'seo' | 'ai_visibility' | 'mentions'
- `goal_weights` string

## Response `200`

Success

- object
  - `total` integer
  - `results` Publication[]
    - `id` string, uuid, required
    - `product_type` 'site' | 'pr_package' | 'bundle' | 'program' | 'service', required
    - `name` string, required
    - `domain` string, nullable
    - `category` string, nullable
    - `region` string, nullable
    - `languages` string[]
    - `price_cents` integer, nullable, required: Price in US cents
    - `price` string, nullable: Price in US dollars, for display
    - `currency` 'USD', required
    - `ai_score` integer, nullable: AI score (beta), 0 to 100
    - `tier` string, nullable
    - `dr` integer: DR (Ahrefs) of the site's domain. Single sites only; absent when we have no DR
    - `dr_label` 'DR (Ahrefs)'
    - `dofollow` boolean, nullable
    - `min_word_count` integer, nullable: Sites: the fewest words the site takes (fit check); null when none is recorded
    - `max_word_count` integer, nullable: Sites: the most words the site takes (fit check). Release on livepublicator.com: 800
    - `max_links` integer, nullable: Sites: the most links the site takes (fit check). Release on livepublicator.com: 3
    - `service_notes` string, nullable: Release on livepublicator.com only: what happens to the release. The text is kept and lightly edited for style; a short summary, key facts and an FAQ are added; a person may review it first (usually within 24 hours); English only, 300 to 20,000 characters with the headline, at most 800 words and 3 https links; cover image (image_url) an https JPEG, PNG or WebP of at most 5 MB; no AI-generated images. No writing add-on. Contact details come from the order, else the brand's press contact
    - `add_ons` object
      - `writing` integer, nullable: Writing add-on price in US cents, or null when not offered
      - `logo` integer, nullable: Logo add-on price in US cents for this PR package, or null when it has no logo option

## Other responses

- `401`: Error
- `429`: Error
- `default`: Error

---

[API](https://skmtc.dev/buzzdealer/apis/buzz-dealer-ai-api.md) · [All operations](https://skmtc.dev/buzzdealer/apis/buzz-dealer-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/buzzdealer/apis/buzz-dealer-ai-api/revisions/e4865a268cd5?raw)
