/v1/posts
A publication's recent or top posts
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/substack-api/v1/posts" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/substack-api/v1/posts", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/substack-api/v1/posts");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/substack-api/v1/posts",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"sort": "new",
"count": 20,
"posts": [
{
"url": "https://www.noahpinion.blog/p/roundup-83-i-told-you-so",
"slug": "roundup-83-i-told-you-so",
"type": "newsletter",
"title": "Roundup #83: I told you so!",
"is_paid": false,
"audience": "everyone",
"subtitle": "Piketty gets wacky; Tokenmaxxing fails; Trump, drones, and Ukraine; Tariffs on China, again; India's growth; Borjas again",
"post_date": "2026-06-08T07:42:08.344Z",
"reactions": 334,
"wordcount": 3113,
"cover_image": "https://substackcdn.com/image/fetch/$s_!ltQ3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ee2c9c-5a0f-48ad-b3b0-862053f1a953_960x640.jpeg",
"comment_count": 51
},
{
"url": "https://www.noahpinion.blog/p/why-europe-should-put-up-trade-barriers",
"slug": "why-europe-should-put-up-trade-barriers",
"type": "newsletter",
"title": "Why Europe should put up trade barriers against Chinese goods",
"is_paid": false,
"audience": "everyone",
"subtitle": "There are benefits far beyond protectionism.",
"post_date": "2026-06-06T08:10:50.949Z",
"reactions": 329,
"wordcount": 2238,
"cover_image": "https://substackcdn.com/image/fetch/$s_!8Ayb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9695da85-8fee-4af4-81b0-0c1ac25b0dbf_1008x756.jpeg",
"comment_count": 36
},
{
"url": "https://www.noahpinion.blog/p/im-kind-of-over-the-whole-anti-monopoly",
"slug": "im-kind-of-over-the-whole-anti-monopoly",
"type": "newsletter",
"title": "I'm kind of over the whole \"Anti-monopoly\" movement",
"is_paid": false,
"audience": "everyone",
"subtitle": "The struggle against excessive corporate power needs better standard-bearers.",
"post_date": "2026-06-04T05:52:29.451Z",
"reactions": 445,
"wordcount": 4125,
"cover_image": "https://substackcdn.com/image/fetch/$s_!haX0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a534beb-d648-448b-ad28-278ea6004c84_1075x666.jpeg",
"comment_count": 92
},
{
"url": "https://www.noahpinion.blog/p/how-much-more-software-do-we-really",
"slug": "how-much-more-software-do-we-really",
"type": "newsletter",
"title": "How much more software do we
…