Why state matters
A real user has a coherent session — same browser, same IP, same cookies — from login to logout. Sites use that coherence as a trust signal: a session that suddenly switches IP or fingerprint mid-flow is a bot. Stateless scraping breaks any flow where the second request depends on the first: logged-in pages, cart flows, CSRF-protected forms, paginated views that carry cursor state in cookies.
How stateful APIs implement it
A stateful scraping API exposes a session ID. The first request creates a session — assigning a sticky IP, a consistent fingerprint, and an empty cookie jar. Subsequent requests with the same session ID reuse all of it. The session has a TTL (typically 10 minutes to a few hours); after that it expires and you start fresh. Some APIs let you persist a session indefinitely by paying a per-session retainer.
When you do NOT need state
Public listing pages, product detail pages, blog posts, and most SEO crawl targets are stateless — each request stands on its own. Stateless requests are cheaper (no session retainer, IP can rotate freely) and parallelize better. Use state only where the flow requires it; default to stateless for everything else.
