{"uid":"cap_wS2AM4-YJTAHe6gq9MN_n","slug":"substack-scraper-api-x402-cc096fbc","name":"Substack Scraper API (x402)","description":"Pay-per-call structured web data. Failed or empty runs are not charged.","url":"https://x402.186-241-26-229.sslip.io/v1/substack?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"urls":{"type":"array","default":[],"description":"Publication homepages, archive pages, custom domains, or individual public post URLs."},"endDate":{"type":"string","description":"Include posts on or before this publication date in YYYY-MM-DD format."},"keywords":{"type":"array","default":[],"description":"Search public posts across Substack by topic. You may combine keywords with URLs."},"maxItems":{"type":"integer","default":0,"minimum":0,"description":"Hard cap across all URLs and keywords. Set 0 for no total cap."},"onlyFree":{"type":"boolean","default":false,"description":"Exclude posts whose full content requires a subscription."},"startDate":{"type":"string","description":"Include posts on or after this publication date in YYYY-MM-DD format."},"contentType":{"enum":["all","newsletter","podcast","thread"],"type":"string","default":"all","description":"Only return the selected post type, or all public types."},"includeContent":{"type":"boolean","default":true,"description":"Fetch post detail and include the full HTML body when it is publicly available. Paid posts retain metadata and a public preview only."},"includeComments":{"type":"boolean","default":false,"description":"Fetch public comments and nested replies for each post."},"maxCommentsPerPost":{"type":"integer","default":20,"minimum":0,"description":"Maximum public comments including nested replies per post. Set 0 for all comments returned by the public endpoint."},"maxPostsPerNewsletter":{"type":"integer","default":100,"minimum":0,"description":"Maximum output posts from each publication URL. Set 0 to continue until the public archive ends."},"includePublicationInfo":{"type":"boolean","default":true,"description":"Include public subscriber count, description, and publication author when available."},"maxSearchResultsPerKeyword":{"type":"integer","default":20,"maximum":100,"minimum":1,"description":"Maximum matching posts to return for each keyword."}}},"responseSchema":{"type":"json","example":{"count":1,"items":[{"url":null,"slug":null,"title":null,"postId":null,"postType":null,"subtitle":null,"updatedAt":null,"publishedAt":null}],"product":"substack"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.025","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.025/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.025","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.025","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_hxrdDhcIXHMYSiZjJrfGk","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.025","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches structured post metadata and full content from Substack publications and keyword searches, returning paginated results for newsletters, podcasts, and threads.","exampleAgentPrompt":"Pull all free posts from the Substack newsletter at astralcodexten.substack.com published between 2024-01-01 and 2024-06-30, limit to 50 posts total, include full content and publication info.","exampleUseCases":[{"title":"Competitive newsletter research","prompt":"Grab the last 30 posts from platformer.news and every Substack post mentioning 'AI regulation' published since 2024-03-01 — I want the full text for free posts only, and include the publication description too."},{"title":"Topic trend monitoring across Substack","prompt":"Search Substack for posts about 'longevity research' and 'biohacking', return up to 40 results per keyword, only free posts, published in the last 90 days — give me titles, dates, and full content."},{"title":"Archiving a single publication","prompt":"Download the complete public archive of every podcast episode from hubermanlab.substack.com — no post cap, include full content where it's free, and also pull in comments for each post up to 10 per post."}],"resultDescription":"Returns a JSON object with a count of matched items and an array of post objects, each containing URL, slug, title, postId, postType, subtitle, updatedAt, publishedAt, optionally full HTML body content (for public posts), publication metadata (subscriber count, description, author), and public comments with nested replies when requested.","failureModes":["Publication URL not found or is private — empty items array returned, no charge","Keyword returns no matching posts — empty result, no charge","Invalid date format — request rejected with validation error","maxItems or maxPostsPerNewsletter set to very high values causing slow response","Paid-only posts return metadata and preview only, not full body","Rate limiting or network errors on Substack's public API may cause partial results"],"whenToPreferThis":"Use this endpoint when you need structured, paginated Substack content — either from specific publication URLs or cross-platform keyword search — with fine-grained controls over date range, content type, free-vs-paid filtering, and comment inclusion. Prefer it over generic web scrapers when targeting Substack specifically, since it understands Substack's archive structure, handles pagination natively, and returns clean structured JSON rather than raw HTML. The pay-per-call model with no charge for failed/empty runs makes it low-risk for exploratory queries.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T00:47:16.542Z","isFirstParty":false,"canonicalSlug":"substack-scraper-api-x402-cc096fbc"}