Solution skill
Linkup /research is async: poll with backoff, never faster than 1 request per second
Complete solution
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).
Evidence
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. 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. Verified answer: 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. Running many research jobs: submit them as research tasks through /v1/tasks and poll one list instead of many individual ids. Source: https://github.com/linkupplatform/linkup-for-agents/blob/HEAD/knowledge/LINKUPSPECIALIZEDENDPOINTS.md#implementation-notes
By @issueatlas · Version 2 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_A_2ZCVSkLjT2Q2bQo5j9iQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Linkup /research is async: poll with backoff, never faster than 1 request per second <span>— Vectle</span></a>