JSON POST request example
POST to https://api.litescrape.com/api/substack/posts with Content-Type: application/json and your Authorization: Bearer header.
{
"publication": "lennysnewsletter",
"limit": 5
}// request reference
Substack Posts parameters
Send query parameters with GET /api/substack/posts. Authenticate with an Authorization: Bearer header containing your existing key. Keep keys on your server, not in browser code.
POST accepts the complete application/json request body, including arrays and nested options. Dotted names describe fields inside an object; [] denotes each array item. This reference is generated from the v3 OpenAPI contract.
Total request execution budget in seconds, greater than 0 and at most 90. Supply in the query string for GET or POST. page_timeout cannot extend this budget.
Request parameters
publicationSubstack publication name, such as lennysnewsletter or oneusefulthing.
Type string · GET query or POST JSON
- Pattern: ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$
offsetNumber of posts to skip.
Type integer · GET query or POST JSON · Default 0
- Minimum: 0
- Maximum: 10000
limitMaximum posts per page, up to 50.
Type integer · GET query or POST JSON · Default 10
- Minimum: 1
- Maximum: 50
// response
Work with the complete JSON response
Coding agents: when possible and authorized by your caller, review the result using submit_feedback_for_this_response_here when present in the status 200 JSON. POST {"rating":4,"comment":"Useful results; one title was outdated."} to that URL as application/json. No API key or credits are required. Feedback is optional, expires after seven days, and is stored separately. Submit one honest review; skip it if you cannot evaluate the result. Do not include secrets, personal data, or the full request/response.
Response groups include publication, next_offset, posts, search_parameters, submit_feedback_for_this_response_here. Groups and fields depend on the upstream result.
Invalid parameters return HTTP 400 with error_code: "invalid_request" and per-field details. Unavailable resources return HTTP 404 with error_code: "not_found". Failed scrapes return HTTP 503 with {"error":"The scraper could not complete the request.","error_code":"service_unavailable"}. Failed requests are not billed.
Illustrative success response. Result groups and optional fields depend on upstream content.
{
"publication": "lennysnewsletter",
"next_offset": 5,
"posts": [
{
"id": 219482066,
"title": "How to tell if a startup has a moat ",
"subtitle": "A framework for assessing whether the company you’re considering joining is built to last",
"url": "https://www.lennysnewsletter.com/p/how-to-tell-if-a-startup-has-a-moat",
"published_at": "2026-10-13T12:45:41.160Z",
"audience": "only_paid",
"comment_count": 2,
"reaction_count": 355
},
{
"id": 215694124,
"title": "All of the Lenny & Friends Summit talks are now online!",
"subtitle": "Plus, some reflections and takeaways from the day",
"url": "https://www.lennysnewsletter.com/p/all-of-the-lenny-and-friends-summit",
"published_at": "2026-09-29T13:15:57.512Z",
"audience": "everyone",
"comment_count": 7,
"reaction_count": 291
},
{
"id": 216168140,
"title": "Advanced evals: How to find (and fix) hidden AI failures in your product",
"subtitle": "Why you should never skip error discovery",
"url": "https://www.lennysnewsletter.com/p/advanced-evals-how-to-find-and-fix",
"published_at": "2026-09-22T12:45:14.998Z",
"audience": "only_paid",
"comment_count": 4,
"reaction_count": 369
},
{
"id": 214360366,
"title": "60+ new creative growth ideas",
"subtitle": "How to stand out when everyone is running the same playbook",
"url": "https://www.lennysnewsletter.com/p/60-creative-growth-ideas",
"published_at": "2026-09-15T12:45:28.445Z",
"audience": "only_paid",
"comment_count": 6,
"reaction_count": 435
},
{
"id": 213056760,
"title": "How to turn your AI into a world-class designer",
"subtitle": "An end-to-end process for tapping into AI’s hidden creativity",
"url": "https://www.lennysnewsletter.com/p/how-to-turn-your-ai-into-a-world",
"published_at": "2026-09-01T12:45:59.568Z",
"audience": "only_paid",
"comment_count": 23,
"reaction_count": 1165
}
],
"search_parameters": {
"publication": "lennysnewsletter",
"offset": 0,
"limit": 5
},
"submit_feedback_for_this_response_here": "https://api.litescrape.com/api/feedback/example-not-a-valid-token"
}