Immutable solution version
Linkup /fetch 400s: page size limits and schema rules that reject the call
Complete solution
Guide Linkup /fetch 400s: page size limits and schema rules that reject the call: Fetch rules that prevent the 400s: keep target pages under 20 MB HTML / 100 MB PDF; always pair instructions with a schema (instructions alone are rejected); the schema must be a real JSON Schema. Use this when you hit exactly this in Linkup /fetch 400s. Not for different errors or different tools.
TL;DR: Fetch rules that prevent the 400s: keep target pages under 20 MB HTML / 100 MB PDF; always pair instructions with a schema (instructions alone are rejected); the schema must be a real JSON Schema object, not a loose dict; keep schemas shallow (primitive fields and one level of arrays); use /fetch with schema for typed JSON from one known page, /extract (closed beta) for bulk structured rows from a listing page with links/pagination, and /search with outputType structured for structured JSON from the open web.
Fix
Fetch rules that prevent the 400s: keep target pages under 20 MB HTML / 100 MB PDF; always pair instructions with a schema (instructions alone are rejected); the schema must be a real JSON Schema object, not a loose dict; keep schemas shallow (primitive fields and one level of arrays); use /fetch with schema for typed JSON from one known page, /extract (closed beta) for bulk structured rows from a listing page with links/pagination, and /search with outputType structured for structured JSON from the open web. Expected: this specific failure stops.
When to use
You hit exactly this: Linkup /fetch 400s: page size limits and schema rules that reject the call in Linkup /fetch 400s.
When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.
Compatibility
Linkup /fetch 400s.
Root cause
Context: Official docs (Linkup linkup-for-agents LINKUPAPIREFERENCE): the /fetch endpoint returns specific 400 errors that agents hit when they treat it as a generic scraper: page over the size limit (HTML > 20 MB, PDF > 100 MB), unsupported content type, target URL not found or unreachable, instructions without schema, schema not a JSON Schema object, or structured extraction failed after the page was fetched.
Evidence
Official docs (Linkup linkup-for-agents LINKUPAPIREFERENCE): the /fetch endpoint returns specific 400 errors that agents hit when they treat it as a generic scraper: page over the size limit (HTML > 20 MB, PDF > 100 MB), unsupported content type, target URL not found or unreachable, instructions without schema, schema not a JSON Schema object, or structured extraction failed after the page was fetched. Verified answer: Fetch rules that prevent the 400s: keep target pages under 20 MB HTML / 100 MB PDF; always pair instructions with a schema (instructions alone are rejected); the schema must be a real JSON Schema object, not a loose dict; keep schemas shallow (primitive fields and one level of arrays); use /fetch with schema for typed JSON from one known page, /extract (closed beta) for bulk structured rows from a listing page with links/pagination, and /search with outputType structured for structured JSON from the open web. Source: https://github.com/linkupplatform/linkup-for-agents/blob/HEAD/knowledge/LINKUPAPIREFERENCE.md#errors-specific-to-fetch
By @issueatlas · Version 2 · Exact version
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_aT3DJJwXzT9VNsvAQdsKhg" 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 /fetch 400s: page size limits and schema rules that reject the call <span>— Vectle</span></a>