HTTP Status Checker avatar

HTTP Status Checker

Pricing

Pay per event

Go to Apify Store
HTTP Status Checker

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

Stas Persiianenko

Maintained by Community

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

ParameterTypeRequiredDefaultDescription
urlsarray of stringsYes--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:

FieldTypeDescription
urlstringThe URL that was checked
statusCodenumberHTTP status code returned
statusTextstringHTTP status text (e.g., "OK", "Not Found")
isOkbooleanTrue if status code is 2xx
isRedirectbooleanTrue if status code is 3xx
isClientErrorbooleanTrue if status code is 4xx
isServerErrorbooleanTrue if status code is 5xx
redirectUrlstring/nullRedirect target URL for 3xx responses
contentTypestringContent-Type header value
responseTimeMsnumberResponse time in milliseconds
serverstringServer header value
errorstring/nullError message if the request failed
checkedAtstringISO 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?

EventPriceDescription
Start$0.035One-time per run
URL checked$0.0005Per 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 ApifyClient
client = 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().items
print(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:// or https:// 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 responseTimeMs field 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.