Rate limits
Understand the separate create-links and search quotas.
Each account can make 30 create-links calls per 60-second window, shared between REST POST /api/v1/links, POST /api/v1/uploads, POST /api/v1/sheets and MCP create_links. Each upload reservation and sheet submission uses one call; child link conversions use none. An inline request and a batch submission each use one call, regardless of how many inputs they contain.
Admitted create requests and rate-limit refusals carry structured headers:
RateLimit-Policy: "create-links";q=30;w=60
RateLimit: "create-links";r=29;t=60q is the quota and w its window in seconds. r is the remaining calls; t is seconds until a slot frees. These are structured fields, not bare numbers.
Exhausting the quota returns 429 with the rate-limited problem and Retry-After in seconds. Wait before retrying, and coordinate callers using the same account. Job reads do not consume this create-links quota; follow their poll_after_seconds and Retry-After guidance.
Search window
Keyword searches have a separate per-account window of 30 calls per 60 seconds. Search admission consumes no create-links slots. Resolved product, vendor, sheet and unsupported pastes skip keyword search and consume neither window; unread pastes may reach keyword search.
Successful responses that reach keyword admission and search rate-limit refusals carry:
RateLimit-Policy: "search";q=30;w=60
RateLimit: "search";r=29;t=60Search refusals return 429 with search-rate-limited and Retry-After. The header fields mean the same as above. Replaying a create request with Idempotency-Key consumes no new create-links slot; a 429 is not stored for replay.