Asset 20 8 2
Does AI recommend your business? Run the free check →

Join 15,000 business owners, marketers and entrepreneurs. The Sunday newsletter you'll be annoyed only arrives once a week.

Article

Asana API Rate Limit: 150 or 1,500 a Minute, and the 429

Asana's standard API rate limit is set per authorisation token in one-minute windows: 150 requests a minute for Free domains and 1,500 for higher-tier domains (as of Nov 2026). Search is capped at 60 a minute, with concurrency and computational-load limits on top. Hit any of them and you'll get a 429 with a Retry-After header.

You got a 429. Which limit did you hit?

If your script or integration has started failing with 429 Too Many Requests, you've hit one of several limiters. Every one of them returns the same 429 with a generic message, so the response won't tell you which. You work it out from your own request pattern. The table below is the checklist I'd run through.

LimitCapApplies to
Standard requests per minute150Free domains, per token (as of Nov 2026)
Standard requests per minute1,500Higher-tier domains, per token
Search API60 requests per minuteAll
Concurrent GET requests50All
Concurrent POST, PUT, PATCH, DELETE15All
Duplication, instantiation and export jobs5 concurrent per userAll

Reads and writes are limited independently, so a burst of 15 parallel updates can be throttled while your reads carry on happily. There's also a computational-load limit, based on how much of the object graph a request traverses, deducted from a per-minute quota. The developer docs say most developers aren't affected by it, but a very broad query is the kind of request that would be.

Matching the symptom to the limiter

  • Failing after a steady run of calls: you've probably used up the per-minute standard allowance for that token.
  • Only search calls failing: the separate 60-a-minute search cap.
  • Failing when you fire lots of calls in parallel: the concurrent limits, 50 for reads and 15 for writes.
  • Project duplication or export calls failing: the 5-job concurrent allowance per user.

Limits are allocated per authorisation token, and different tokens have independent limits. So a second integration on its own token won't eat into the first one's allowance.

Honouring the Retry-After header on a 429

Every 429 comes with a standard Retry-After header telling you how many seconds to wait. Read it and honour it. Asana's official client libraries already do this: they respect rate-limited responses and wait before retrying, up to a configurable maximum number of retries. If you're writing raw HTTP calls, build the same behaviour yourself, and spread work out rather than sending it in bursts.

Why retrying early makes things worse

The Asana Developer Docs page on rate limits explains the trap. Requests rejected by the limiter still count against your quota, so ignoring Retry-After and hammering the API leads to fewer requests being accepted in later windows. A tight retry loop doesn't just fail; it digs the hole deeper.

The second surprise is that clicks count. Duplicating a project, running a CSV import or instantiating a template in the web app all use the same 5-job concurrent allowance as your script. So your integration can be rate limited by something a colleague did in the browser. If your nightly export fails at random, check whether someone was importing at the same time.

If you're automating projects at scale, my guide to building Asana workflows covers what's worth automating in the first place, and this explainer on APIs versus webhooks helps you avoid polling for changes when you don't need to.

How Trello and ClickUp set their limits

Trello limits each API key to 300 requests per 10 seconds and each token to 100 requests per 10-second interval, plus 100 requests per 900 seconds on its /1/members/ endpoint.

ClickUp limits requests per token per minute by Workspace plan: 100 on Free Forever, Unlimited and Business, 1,000 on Business Plus and 10,000 on Enterprise.

Work with me

Want AI doing the heavy lifting in your marketing?

I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.

My advice for anyone building on the API

Use an official client library so Retry-After is handled for you, give each integration its own token, and keep writes to a handful in parallel. Cache search results rather than searching on every run, and schedule heavy exports for when nobody's doing imports in the app. If you're on a Free domain and regularly near 150 a minute, that's a sign to batch work differently, not to retry harder.

Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.

Frequently asked questions

What's the Asana API rate limit?

150 requests a minute on Free domains and 1,500 on higher-tier domains, per token.

What happens when I exceed it?

You get a 429 with a Retry-After header telling you how many seconds to wait.

Is there a separate limit for search?

Yes, 60 requests per minute.

Do web-app actions count?

Yes for duplication, import, export and template jobs: 5 concurrent per user, including ones started in the web app.

Do different tokens share a limit?

No. Limits are per authorisation token and independent.

Published and maintained by the Lilach Bullock team, covering marketing, AI and business growth.
Your buyers are asking AI who to use. Does it say you?

See for free whether ChatGPT, Claude, Perplexity, Gemini and Google name you, and get the plan to become the answer.

Check my AI visibility →
Sundays only

Get the Sunday newsletter.

One email a week. AI experiments, marketing tactics, and the workflows Lilach is building right now in her own business.

Subscribe free

Let’s get your marketing running on AI.

Book a free 30-minute call

We figure out what you need, where AI fits in, and what working together would look like.

Book the call →

Or take the 30-second calculator

You’ll see the hours and the money quietly leaking out of your week, and the three workflows worth building first.

Take the calculator →

Or grab the free AI resource library

Prompt packs, templates, checklists, and swipe files. The exact tools I build for paying clients. Yours, free.

Get the library →
Keep reading

More from the blog.