HTTP Header Inspector
View any website's HTTP response headers instantly. Detect Cloudflare, WAFs, rate limits, and CORS policies — useful before you start scraping.
What are HTTP headers?
Every time your browser or a script requests a web page, the server sends back two things: the content (HTML, JSON, an image) and a set of headers. Headers are key-value metadata that travel alongside the response, telling the client how to interpret and handle what it received.
Headers carry information about the content type, caching rules, security policies, rate limits, and which CDN or security layer handled the request. They are invisible to end users but fundamental to how the web works — and they contain critical signals for anyone building a web scraper.
Unlike page content, which requires rendering JavaScript and parsing HTML, headers are available immediately in the initial response. This makes them the fastest way to understand a site's infrastructure and access controls before writing a single line of scraping code.
Which headers matter most for web scrapers?
| Header | What it means for scraping |
|---|---|
| cf-ray | Cloudflare is proxying this site. Scraping may work, but Cloudflare can add JS challenges, CAPTCHAs, or IP bans. |
| x-ratelimit-remaining | The number of requests you have left before being rate-limited. Back off as this approaches zero. |
| retry-after | Seconds to wait after a 429 response. Ignoring this will get you blocked faster. |
| access-control-allow-origin | If set to "*", the API is publicly accessible from any origin — great for scraping JSON APIs. |
| content-type | Tells you whether you're getting HTML, JSON, XML, or binary data — so you know how to parse it. |
| content-encoding | If set to gzip or br, the body is compressed. Most HTTP libraries handle decompression automatically. |
| cache-control: no-store | Content changes frequently and shouldn't be cached — useful for knowing when to re-scrape. |
| set-cookie | Session cookies may be required for subsequent requests. Some anti-bot systems fingerprint cookie handling. |
| x-robots-tag | The server-side equivalent of the HTML robots meta tag. Noindex or nofollow instructions for crawlers. |
Frequently asked questions
What is an HTTP header inspector used for?
How can I tell if a site uses Cloudflare from its headers?
What does a 403 response header mean for web scraping?
What are rate limit headers and how should I respect them?
What is the difference between HEAD and GET for header inspection?
Why do response headers matter for CORS and API access?
Can I scrape a site protected by Cloudflare?
Common use cases
- Pre-scraping reconnaissance — Inspect headers before building a scraper to understand what protection is in place and what content type the server returns.
- Rate limit planning — Read x-ratelimit-* headers on API endpoints to calculate safe request pacing for large-scale data collection.
- CORS debugging — Verify whether an API allows cross-origin requests before building a frontend that fetches data directly.
- CDN and caching analysis — Understand cache-control directives to know how fresh the data is and when re-scraping will return updated content.
- Security auditing — Check whether a site sets important security headers like Strict-Transport-Security, X-Frame-Options, and Content-Security-Policy.
- Redirect chain investigation — Identify when a URL redirects to a different final destination, which affects canonical URL handling in scrapers.
Related resources
Robots.txt Checker
See which paths a site permits or blocks for crawlers
Open tool →Meta Tag Checker
Inspect title, description, OG and Twitter card tags
Open tool →Sitemap Viewer
Discover and export all URLs from an XML sitemap
Open tool →Web Scraping Legality by Country
Understand the legal landscape before you scrape
Open tool →Ready to scrape? Install Lection and extract your first dataset in minutes — no code required.