What is a 413 error in web scraping?
A 413 Content Too Large means a body was bigger than the recipient is willing to process. The name changed in the current HTTP specification from the older "Payload Too Large", and both are still in circulation.
In scraping it arrives from an unusual direction. Most status codes describe how the target site treated your request. A 413 more often describes how your own scraping API treated the page it just fetched, because some pages are enormous.
Why pages get that big
A modern page can be several megabytes of HTML before any images load. Inline JSON state blobs from frameworks, base64-encoded images embedded in the markup, deeply nested component trees, and analytics payloads all add up. Product listing pages and infinite-scroll feeds after a few scroll interactions are the usual offenders.
Downstream of the fetch, the same problem repeats. A page that fits comfortably in an HTTP response may still be too large for the context window of the model you were planning to feed it to.
What to do about it
The fix is almost always to stop moving the whole page around.
- Ask for the part you need. Extracting fields at fetch time returns kilobytes instead of megabytes, and removes the problem rather than working around it.
- Convert to a lighter format. Markdown or plain text drops the markup and typically cuts a page by an order of magnitude while keeping everything a reader or a model actually uses.
- Block resources you will not read. Images, fonts and stylesheets contribute nothing to a text extraction and can be prevented from loading at all.
- Paginate rather than scroll. If a page grows every time you scroll it, request the paginated URLs instead and keep each response small.
Raising the size limit is the last resort, and it usually just moves the failure to the next stage in the pipeline.
Where Zenrows fits
Zenrows documents this failure directly in troubleshooting response size. The practical tools are output filters, which return only the data types you asked for, the CSS Extractor, which returns just the fields your selectors match, and Markdown response, which strips the markup on the way out. Blocking resources cuts the weight before the page is even assembled.
In the docs
Last updated: Aug 16, 2026