System Design Lab

Core · When 500 rows arrive and the API takes 10 a second.

Rate limits & queues

Every API has a speed limit. Go past it and you get 429 Too Many Requests, and lost data if nobody catches it. A queue absorbs the burst and feeds the API at a pace it accepts.

Wiring up the simulator…

Try this

Run each experiment in the simulator above, then tick it off.

Key ideas

Bursts are normal

A CSV import, a sale, a bulk update: traffic arrives in clumps, not as a steady stream.

A queue trades speed for safety

Work waits in line instead of failing. The cost is delay; the benefit is nothing lost.

Most limits are token buckets

A bucket holds N requests and refills every second. You can burst up to N, then you're throttled.

In your Pabbly workflows

When a trigger can fire hundreds of times (a sheet import, an iterator over line items), check the destination's rate limit. Add a delay inside the loop, use bulk endpoints where they exist, or stage rows in a sheet and process them on a schedule. That last one is a queue built from parts you already have.

Check yourself

0/2

Get every question right to mark this lab done. Wrong answers let you try again.

Q1. The API allows 10 requests per second. You need to push 600 contacts. What's the fastest you can do it without errors?

Q2. What does a queue NOT do?

Watch next

Searches for “rate limiting” on the channels worth your time.