---
title: "Search posts and publications across Substack"
method: GET
path: "/substack/search"
tags: ["Substack"]
---

# Search posts and publications across Substack

`GET /substack/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/substack/search`
- Auth: API key in header `x-api-key`

Searches posts across all of Substack and returns the publications that also matched, unlike /substack/publication/posts which searches within a single publication. Set focus_publication_id to additionally receive that one publication's own matching posts in focused_posts alongside the site-wide results.

## Query parameters

- `query` string, required
- `page` integer
- `focus_publication_id` integer
- `focus_limit` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- SubstackSearchResponseDoc
  - `code` integer
  - `data` SubstackSearchResult
    - `focused_posts` SubstackPost[]
      - `audience` string
      - `comment_count` integer
      - `cover_image_url` string
      - `description` string
      - `id` integer
      - `paywalled` boolean
      - `published_at` string
      - `reaction_count` integer
      - `slug` string
      - `subtitle` string
      - `title` string
      - `type` string
      - `url` string
    - `has_more` boolean
    - `page` integer
    - `posts` SubstackPost[]
      - `audience` string
      - `comment_count` integer
      - `cover_image_url` string
      - `description` string
      - `id` integer
      - `paywalled` boolean
      - `published_at` string
      - `reaction_count` integer
      - `slug` string
      - `subtitle` string
      - `title` string
      - `type` string
      - `url` string
    - `publications` SubstackPublicationListItem[]
      - `author_handle` string
      - `author_id` integer
      - `author_name` string
      - `custom_domain` string
      - `explicit` boolean
      - `hero_text` string
      - `id` integer
      - `language` string
      - `logo_url` string
      - `name` string
      - `payments_enabled` boolean
      - `subdomain` string
      - `subscribers` SubstackSubscriberCounts
        - `follower_count` integer
        - `paid_rough` string: PaidRough and PaidRoughInt are the only paid-subscriber figures Substack publishes, and both are buckets rather than counts. PaidRoughInt is the finer of the two and is always present; PaidTier is the coarser threshold behind the public bestseller badge.
        - `paid_rough_int` integer
        - `paid_tier` integer
        - `total` integer
        - `total_display` string
        - `total_hidden` boolean
        - `total_rough` string
      - `subscription` SubstackSubscription
        - `annual_disabled` boolean
        - `app_store_plans` SubstackAppStorePlan[]
          - `active` boolean
          - `amount_cents` integer
          - `currency` string
          - `display_name` string
          - `display_price` string
          - `is_founding` boolean
          - `period` string
          - `sku` string
        - `founding_benefits` string[]
        - `founding_plan_name` string
        - `free_benefits` string[]
        - `free_trial_enabled` boolean
        - `group_discount_percent` number
        - `monthly_disabled` boolean
        - `paid_benefits` string[]
        - `payments_state` string
        - `plans` SubstackSubscriptionPlan[]
          - `active` boolean
          - `amount_cents` integer
          - `currencies` SubstackPlanCurrency[]
            - `amount_cents` integer
            - `currency` string
          - `currency` string
          - `id` string
          - `interval` string
          - `interval_count` integer
          - `kind` string
          - `nickname` string
          - `trial_period_days` integer
        - `pledges_enabled` boolean
      - `url` string
    - `query` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/028417aa35bb?raw)
