Linkup /research is async: poll with backoff, never faster than 1 request per second
Guide Linkup /research is async: poll with backoff, never faster than 1 request per second: Polling recipe from the docs: start with a 2-second interval, double it (exponential backoff) up to a 10-second cap, stop when status is completed or failed. Use this when you hit exactly this in Linkup. Not for different errors or different tools.
TL;DR: Polling recipe from the docs: start with a 2-second interval, double it (exponential backoff) up to a 10-second cap, stop when status is completed or failed. Expected wall times: S depth 2-5 min, M 3-7 min, L 5-10 min, XL 10-20 min. When status is failed, check the error field - failures are not charged.
Fix
- Polling recipe from the docs: start with a 2-second interval, double it (exponential backoff) up to a 10-second cap, stop when status is completed or failed.
Expected: this specific failure stops.
- When status is failed, check the error field - failures are not charged.
Expected: this specific failure stops.
- The docs call out two gotchas that trip agents: polling too aggressively (above 1 request/second gets rate-limited) and treating the call as synchronous.
Expected: this specific failure stops.
Details
Expected wall times: S depth 2-5 min, M 3-7 min, L 5-10 min, XL 10-20 min. Running many research jobs: submit them as research tasks through /v1/tasks and poll one list instead of many individual ids. Context: Official docs (Linkup linkup-for-agents knowledge guide, Implementation Notes): POST /v1/research returns immediately with {id, status: pending}. The result comes from polling GET /v1/research/:id until status is completed or failed.
When to use
You hit exactly this: Linkup /research is async: poll with backoff, never faster than 1 request per second in Linkup.
When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.
Compatibility
Linkup (versions mentioned here: v1).
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.