HTTP Status Checker
Pricing
Pay per event
HTTP Status Checker
This actor checks the HTTP status code for each URL using a HEAD request. It reports whether the URL is OK (2xx), redirects (3xx), returns a client error (4xx), or server error (5xx). It also measures response time, captures redirect targets, content type, and server headers.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Check HTTP status codes for a list of URLs with response time, redirect detection, and server information.
What does HTTP Status Checker do?
This actor checks the HTTP status code for each URL using a HEAD request. It reports whether the URL is OK (2xx), redirects (3xx), returns a client error (4xx), or server error (5xx). It also measures response time, captures redirect targets, content type, and server headers. Pass in a list of URLs and get a structured report showing the health status of each one.
Use cases
- SEO specialists -- audit large websites for broken links, 404 pages, and unintended redirects that hurt search rankings
- DevOps engineers -- monitor endpoint availability across production services and APIs with scheduled runs
- Content managers -- verify that all links in published content are still active and not returning errors
- QA engineers -- validate that URL migrations are complete by checking that old URLs return proper redirects
- Web developers -- test API health checks and verify that endpoints respond with expected status codes
Why use HTTP Status Checker?
- Comprehensive status reporting -- returns status code, status text, and boolean flags for OK/redirect/client error/server error
- Response time measurement -- measures how long each URL takes to respond in milliseconds
- Redirect detection -- captures redirect target URLs and flags redirects for further analysis
- Server and content type headers -- reports the server header and content type for each URL
- Batch processing -- check hundreds or thousands of URLs in a single run
- Ultra-low cost -- only $0.0005 per URL checked, so checking 10,000 URLs costs just $5.04
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
urls | array of strings | Yes | -- | List of URLs to check HTTP status codes for. Must include the protocol (http:// or https://). |
{"urls": ["https://www.google.com","https://httpstat.us/404","https://httpstat.us/301"]}
Output example
Each URL produces a result object with the following fields:
| Field | Type | Description |
|---|---|---|
url | string | The URL that was checked |
statusCode | number | HTTP status code returned |
statusText | string | HTTP status text (e.g., "OK", "Not Found") |
isOk | boolean | True if status code is 2xx |
isRedirect | boolean | True if status code is 3xx |
isClientError | boolean | True if status code is 4xx |
isServerError | boolean | True if status code is 5xx |
redirectUrl | string/null | Redirect target URL for 3xx responses |
contentType | string | Content-Type header value |
responseTimeMs | number | Response time in milliseconds |
server | string | Server header value |
error | string/null | Error message if the request failed |
checkedAt | string | ISO 8601 timestamp of the check |
{"url": "https://www.google.com","statusCode": 200,"statusText": "OK","isOk": true,"isRedirect": false,"isClientError": false,"isServerError": false,"redirectUrl": null,"contentType": "text/html; charset=ISO-8859-1","responseTimeMs": 145,"server": "gws","error": null,"checkedAt": "2026-03-01T12:00:00.000Z"}
A URL returning a 404 error:
{"url": "https://httpstat.us/404","statusCode": 404,"statusText": "Not Found","isOk": false,"isRedirect": false,"isClientError": true,"isServerError": false,"redirectUrl": null,"contentType": "text/plain","responseTimeMs": 230,"server": "Microsoft-IIS/10.0","error": null,"checkedAt": "2026-03-01T12:00:00.000Z"}
How much does it cost?
| Event | Price | Description |
|---|---|---|
| Start | $0.035 | One-time per run |
| URL checked | $0.0005 | Per URL checked |
Example costs:
- 100 URLs: $0.035 + 100 x $0.0005 = $0.085
- 1,000 URLs: $0.035 + 1,000 x $0.0005 = $0.535
- 10,000 URLs: $0.035 + 10,000 x $0.0005 = $5.035
Using the Apify API
You can start HTTP Status Checker programmatically from your own applications using the Apify API. The following examples show how to run the actor and retrieve results.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('automation-lab/http-status-checker').call({urls: ['https://www.google.com', 'https://httpstat.us/404'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('automation-lab/http-status-checker').call(run_input={'urls': ['https://www.google.com', 'https://httpstat.us/404'],})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Integrations
HTTP Status Checker works with all major integration platforms supported by Apify. Connect it to Make (formerly Integromat), Zapier, n8n, or Slack to build automated URL monitoring workflows. Export results directly to Google Sheets for collaborative tracking or use webhooks to get notified when URLs go down or return unexpected status codes. You can also chain this actor with the Redirect Chain Analyzer for deeper redirect analysis.
Tips and best practices
- Include the protocol -- always include
http://orhttps://in your URLs. The actor needs the full URL to make the HTTP request. - Use for uptime monitoring -- schedule this actor to run every hour or every day with Apify Schedules to detect when URLs go down.
- Filter by status category -- use the boolean flags (
isOk,isRedirect,isClientError,isServerError) to quickly categorize and filter results. - Check response times -- the
responseTimeMsfield helps identify slow endpoints that may need performance optimization. - Combine with Redirect Chain Analyzer -- if you find redirects (3xx), use the Redirect Chain Analyzer to trace the full redirect chain and verify the final destination.
FAQ
Does the actor follow redirects?
No. The actor reports the first status code returned by the server. If a URL returns a 301 or 302, the actor reports that redirect status and captures the redirect target in the redirectUrl field. Use the Redirect Chain Analyzer if you need to follow the full redirect chain.
Why does a URL show a different status code than my browser? The actor uses HEAD requests by default, which some servers handle differently than GET requests. Additionally, some servers may return different responses based on the User-Agent header or geographic location.
Can I check URLs that require authentication? The actor sends standard HTTP requests without authentication headers. URLs behind login walls or requiring API keys will likely return 401 or 403 status codes. The actor does not support custom authentication headers.
What is the difference between 4xx and 5xx errors? A 4xx status code (client error) means the request was invalid -- the URL does not exist (404), you are not authorized (401/403), or the request was malformed. A 5xx status code (server error) means the server failed to process a valid request, indicating a problem on the server side.
Can I check the status of thousands of URLs in one run? Yes. The actor is designed for bulk checking and processes URLs concurrently. There is no hard limit on the number of URLs per run. At $0.0005 per URL, checking 10,000 URLs costs approximately $5.04 including the start fee.