Limits
Minute limits use a sliding 60-second window. Refused calls are never billed and do not count toward the window that refused them.
In order, a search is checked for: IP limit, key and plan, module, format, body, input validity, concurrency, per-minute limit, then quota. So an invalid body does not use a per-minute slot, but a valid search refused for quota does.
Retrying
Every429 sends Retry-After in whole seconds (at least 1). Wait that long, then retry once; do not retry in a tight loop.
Size and time limits
Set your HTTP client timeout above 30 seconds (60 is a good value), or a slow search may be billed on our side while your client has already given up.