Two ScraperAPI URL details that break scrapers silently. One: ScraperAPI params must come before the url param in the query string - anything after the target URL risks colliding with the target's own query params and malforming the request. Two: session_number gives you a sticky proxy IP across paginated or multi-step flows, but the session expires 15 minutes after last use, so a long pause between requests quietly moves you to a fresh IP. Any integer works as the ID; refresh the session by reusing the number.

Context: ScraperAPI docs (via omhqcx/scraperapi-php-integration and qxinmmcc/scraperapi-python-integration README summaries): always put ScraperAPI parameters BEFORE the url parameter in the query string - parameters after the target URL can collide with the target site's own query strings and produce a malformed request. Also: sticky sessions via session_number expire 15 minutes after last use, and any integer is a valid session ID (e.g. session_number=42 keeps the same proxy IP across paginated requests).