---
title: "Search Substack Notes"
method: GET
path: "/v1/substack/notes"
tags: ["Substack"]
---

# Search Substack Notes

`GET /v1/substack/notes`

## Request

- Base URL: `https://apidirect.io`
- URL: `https://apidirect.io/v1/substack/notes`
- Auth: API key in header `X-API-Key`

Search Substack Notes by keyword. Returns each note's text, author, date, engagement (likes, replies, restacks) and any quoted post or note, newest first or top first. Supports fetching multiple pages in a single API call.

**Price:** $0.003 per page. **Free tier:** 50 requests/month.

## Query parameters

- `query` string, required
- `sort_by` 'most_recent' | 'top'
- `pages` integer
- `get_sentiment` boolean

## Response `200`

Successful response

- SearchSubstackNotesResponse: Inferred from a live response. Any field can be null or absent, and new fields may be added at any time.
  - `count` number, nullable
  - `notes` object[], nullable
    - `attachments` object[], nullable
      - `height` number, nullable
      - `type` string, nullable
      - `url` string, nullable
      - `width` number, nullable
    - `author` string, nullable
    - `author_id` string, nullable
    - `author_name` string, nullable
    - `author_url` string, nullable
    - `body` string, nullable
    - `date` string, nullable
    - `domain` string, nullable
    - `lang` string, nullable
    - `likes` number, nullable
    - `note_id` string, nullable
    - `publication` string, nullable
    - `replies` number, nullable
    - `restacks` number, nullable
    - `reactions` object, nullable
      - `❤` number, nullable
    - `author_pic_url` string, nullable
    - `author_bestseller_tier` number, nullable
    - `source` string, nullable
    - `url` string, nullable
  - `pages` number, nullable
  - `query` string, nullable
  - `sort_by` string, nullable

## Other responses

- `400`: Bad request: a required parameter is missing or a value is invalid (code: missing_parameter or invalid_parameter).
- `401`: Unauthorized: the API key is missing or invalid (code: missing_api_key or invalid_api_key).
- `402`: Free tier used up for this endpoint and no payment method on file (`payment_required`).
- `403`: Account blocked after a failed payment (`account_blocked`).
- `429`: Rate limit exceeded, or too many concurrent requests for this endpoint
- `500`: Internal server error
- `502`: Temporary failure retrieving Substack data. Please retry shortly.
- `503`: Service unavailable: the data source is temporarily unavailable
- `504`: The request timed out

---

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