Instagram Threads API: What It Does and What It Still Can’t Do

Agência Senado no Instagram (54299239684).jpg

The newsletter for newsletter operators

Daily field notes on deliverability, AI tools, hosting, and monetisation. No "top 10 plugins" filler — real tools, real numbers, real failures.

Meta released the Threads API in June 2024, and after two years of iteration, it’s finally stable enough for solo operators to trust. But “stable” doesn’t mean “complete.” If you’re deciding whether to pipe content into Threads via a third-party tool—or build a custom integration—you need to know where the guardrails are.

Here’s what the API actually supports, what it doesn’t, and one non-obvious limitation that breaks scheduling workflows more often than you’d expect.

What the Threads API Lets You Do

The current version supports programmatic publishing: text posts up to 500 characters, single images, carousels, and video. You authenticate via Meta’s developer portal, generate a long-lived access token (valid for 60 days), and POST to the publishing endpoint. Response time averages 1.2 seconds for text-only posts, 4–7 seconds for media uploads.

Third-party schedulers like Publer and Hootsuite route through this API. You draft in their interface, schedule a time, and the tool fires the publish request on your behalf. It works—most of the time.

The API also supports read operations: you can pull your own thread metrics (views, likes, replies, quotes), fetch replies to a specific thread, and retrieve your profile metadata. Rate limits sit at 200 requests per hour per user token, which is enough for a solo operator scheduling 3–5 posts per day and checking analytics once or twice.

What’s Still Missing

Three big gaps remain, and they’re not on Meta’s public roadmap.

First: carousel post previews. You can upload up to 10 images in a carousel via the API, but there’s no way to preview how the cropping and ordering will render before the post goes live. Desktop simulators exist for Instagram, but Threads’ mobile-first layout differs enough that what looks clean in a 1:1 preview often clips awkwardly on the actual feed. You won’t know until it’s published.

Second: scheduling beyond 75 days. The API accepts a publish_time parameter, but it rejects any timestamp more than 75 days in the future. That’s fine for daily schedulers, but if you batch content quarterly or run evergreen campaigns tied to fixed dates six months out, you’ll need to manually reschedule or script a secondary trigger closer to publish time.

Third: no support for polls, GIFs, or link previews. Threads introduced native polls in March 2025, but the API still doesn’t expose a poll creation endpoint. Same for GIFs—they’re supported in the mobile app, but API calls strip them to static images. Link previews render automatically when you paste a URL in the app, but API-published posts display raw text links with no card, no thumbnail, no title. Engagement on link posts drops 30–40% as a result.

The Non-Obvious Problem: Token Expiry During Scheduled Windows

Here’s what breaks more workflows than media upload failures: Threads access tokens expire after 60 days, and there’s no automatic refresh mechanism.

If you schedule a post for 62 days out, the API accepts the request at queue time—because the token is still valid. But when the publish window arrives, the token has expired, and the request fails silently. Most schedulers don’t surface this failure in real time. You’ll only notice when you check your profile two days later and realise the post never went live.

The fix: set a recurring calendar reminder every 55 days to regenerate your token, or use a scheduler that auto-refreshes tokens via OAuth. Publer handles this for Threads; Buffer and Later don’t yet (as of June 2026).

When to Use the API vs. Posting Natively

Use the API if you’re cross-posting the same content to Twitter, Bluesky, and Threads. The time savings justify the format compromises.

Post natively if you’re running a campaign where polls, GIFs, or link cards matter—product launches, surveys, or affiliate content. The API isn’t mature enough to preserve those elements yet.

And if you’re scheduling more than two months out, plan to refresh tokens manually or script a cron job that regenerates them every 50 days. The 60-day expiry isn’t changing anytime soon.

Want breakdowns like this for other platform APIs? Reply with the tool you’re trying to automate—I’ll cover it in a future edition.

Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

The newsletter for newsletter operators

Daily field notes on deliverability, AI tools, hosting, and monetisation. No "top 10 plugins" filler — real tools, real numbers, real failures.

Other newsletters you might like

Love South Africa

South Africa as a travel destination. The Rainbow nation full of wonderful gems to visit. Going on Safari in the Kruger National Park, visiting the beautiful beaches of Cape Town, indulge in the South African culture and heritage.

Subscribe

Love Netherlands

Canal towns, hidden villages, Dutch stories — a slow, loving look at the Netherlands, written by the people who love it most.

Subscribe

Love London

A newsletter for Londoners who want to rediscover their own city. Travellers planning their first or fifth visit. Anglophiles who fell in love with London through literature, film, or a rainy afternoon on the South Bank.

Subscribe

Love Castles

Apart from the fascinating and rich history of castles, people love to visit them for their majestic beauty. From the imposing stone walls to the beautiful architecture, there is something captivating about these grand structures.

Subscribe

Newsletters via the One Two Three Send network.  ·  Want your newsletter featured here? Click here