Web scraping - what is HTTP 403 status code?

Response status code 403 is a denial of content status code which means the client is forbidden from seeing this content.

In web scraping, this can be caused by invalid HTTP request parameters like:

  • Missing headers like X-Requested-With, X-CSRF-Token, Origin or even Referer. It's important to match the values and header ordering as seen on the website.
  • Missing cookies like session cookies or special tokens.

Alternatively, the scraper could be identified as a web scraper and 403 can mean the scraper is simply being blocked.

To prevent scrapers from being identified and blocked see our complete how to scrape without being blocked.

Repeated 403 status codes can lead to a complete scraper block, so these errors should be addressed ASAP.

Question tagged: Scraper Blocking

Related Posts

How to Know What Anti-Bot Service a Website is Using?

In this article we'll take a look at two popular tools: WhatWaf and Wafw00f which can identify what WAF service is used.

Use Curl Impersonate to scrape as Chrome or Firefox

Learn how to prevent TLS fingerprinting by impersonating normal web browser configurations. We'll start by explaining what the Curl Impersonate is, how it works, how to install and use it. Finally, we'll explore using it with Python to avoid web scraping blocking.

FlareSolverr Guide: Bypass Cloudflare While Scraping

In this article, we'll explore the FlareSolverr tool and how to use it to get around Cloudflare while scraping. We'll start by explaining what FlareSolverr is, how it works, how to install and use it. Let's get started!