---
title: "Substack Publication Details"
method: GET
path: "/v1/substack/publication"
tags: ["Substack"]
---

# Substack Publication Details

`GET /v1/substack/publication`

## Request

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

Get a Substack publication by subdomain, custom domain, URL or ID. Returns name, tagline, logo, author, the subscriber badge and paid-subscriber band Substack displays, bestseller tier, subscription prices, podcast flag, language, launch dates and the publication's contributors.

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

## Query parameters

- `publication` string
- `publication_id` string

## Response `200`

Successful response

- SubstackPublicationDetailsResponse: Inferred from a live response. Any field can be null or absent, and new fields may be added at any time.
  - `publication` object, nullable
    - `publication_id` string, nullable
    - `name` string, nullable
    - `subdomain` string, nullable
    - `url` string, nullable
    - `custom_domain` string, nullable
    - `description` string, nullable
    - `logo_url` string, nullable
    - `cover_image_url` string, nullable
    - `author` string, nullable
    - `author_name` string, nullable
    - `author_id` string, nullable
    - `author_url` string, nullable
    - `subscriber_count` number, nullable
    - `subscriber_count_label` string, nullable
    - `ranking_detail` string, nullable
    - `paid_subscriber_band` string, nullable
    - `paid_subscriber_floor` number, nullable
    - `bestseller_tier` number, nullable
    - `is_bestseller` boolean, nullable
    - `paid_enabled` boolean, nullable
    - `plans` object[], nullable
      - `interval` string, nullable
      - `amount` number, nullable
      - `currency` string, nullable
    - `has_podcast` boolean, nullable
    - `podcast` unknown
    - `sections` unknown[], nullable
      - unknown
    - `author_pic_url` string, nullable
    - `logo_url_wide` string, nullable
    - `founding_plan_name` string, nullable
    - `has_recommendations` boolean, nullable
    - `has_chat` boolean, nullable
    - `language` string, nullable
    - `type` string, nullable
    - `twitter_handle` string, nullable
    - `created_at` string, nullable
    - `first_post_date` string, nullable
    - `source` string, nullable
    - `domain` string, nullable
    - `contributors` object[], nullable
      - `username` string, nullable
      - `full_name` string, nullable
      - `user_id` string, nullable
      - `biography` string, nullable
      - `profile_pic_url` string, nullable
      - `bestseller_tier` number, nullable
      - `is_byline_only` boolean, nullable
      - `url` 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`).
- `404`: Not found: the requested item does not exist (code: not_found).
- `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)
