Bulk URL Status Checker avatar

Bulk URL Status Checker

Pricing

from $0.60 / 1,000 urls

Go to Apify Store
Bulk URL Status Checker

Bulk URL Status Checker

Check the HTTP status of a list of web addresses. For each one you get the status code, whether it works, redirects or is broken, the full redirect chain, the final address and the response time. Paste the list or link a text file; thousands of addresses per run.

Pricing

from $0.60 / 1,000 urls

Rating

0.0

(0)

Developer

Sanira Botheju

Sanira Botheju

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does Bulk URL Status Checker do?

Bulk URL Status Checker tells you, for a list of web addresses, which ones work, which ones redirect and which ones are broken. Paste the addresses or link a file that lists them, and you get each one's HTTP status code, the full redirect chain, the final address and the response time, ready to export to Excel, CSV or JSON.

  • Checks thousands of addresses in one run
  • Follows redirects and shows every step (301, 302, 307, 308) and where it ends
  • Explains each problem in words: page not found, server error, domain does not exist, redirect loop, certificate problem, timeout
  • Separates real errors from sites that refuse automated checks
  • Asks for headers only when the server allows it, so checks are fast and light on the sites
  • Optional: every response header, for example x-robots-tag, cache-control or last-modified

What data do you get?

FieldExample
Addresshttp://example.com/old-page
Resultredirected (or ok, broken, blocked, skipped)
HTTP status200
ProblemRedirects 2 times to https://www.example.com/new-page
Ends athttps://www.example.com/new-page
Redirect chain301 then 302
Response time412 ms
Place in list17

How to check the status of many URLs

  1. Under Web addresses, paste your list with Bulk edit, add addresses one by one, or link a text file (a Google Sheet published as CSV works too).
  2. Press Start.
  3. Open the Statuses table, sort it by result or status, and export it.

How much does it cost to check URL statuses?

You pay for results, not for time: $0.80 per 1,000 URLs checked. Apify subscribers on the Silver plan pay $0.70 and on the Gold plan $0.60 per 1,000 URLs. Each run also has a start fee of $0.00005. Duplicates in your list are checked, and paid, once.

URLs checkedCost
100$0.08
1,000$0.80
10,000$8.00
100,000$80.00

Apify's free plan includes $5 of credit each month, which covers about 6,000 URLs. Set a maximum cost for the run in Apify Console and the tool stops there and keeps what it has checked.

Input

The only required field is Web addresses. The other options:

  • How to check: Fast asks for headers first and makes a normal request only when a server answers that badly; Normal request always asks for the page, like a browser does.
  • Include response headers: adds every header of the final answer.
  • Requests at the same time per website: keep it low for other people's sites, raise it for long lists of your own site.
  • Time limit per request and User-Agent under More options.

Output example

{
"url": "http://example.com/old-page",
"position": 17,
"result": "redirected",
"broken": false,
"status": 200,
"reason": "Redirects 2 times to https://www.example.com/new-page",
"finalUrl": "https://www.example.com/new-page",
"redirectCount": 2,
"redirectChain": [
{ "url": "http://example.com/old-page", "status": 301 },
{ "url": "https://example.com/old-page", "status": 302 }
],
"responseTimeMs": 412,
"contentType": "text/html",
"contentLength": 48213,
"method": "HEAD",
"checkedAt": "2026-10-15T09:30:00.000Z",
"error": null
}

What the results mean

  • ok: the address works (status 200 to 299 without a redirect).
  • redirected: it works, but only after one or more redirects. The chain shows each step.
  • broken: visitors get an error: 404 or 410, a server error (5xx), a domain that does not exist, a server that does not answer, too many redirects, or a certificate problem.
  • blocked: the site answered the automated check with "forbidden" or "too many requests" (401, 403, 429). The address may work in a browser.
  • skipped: not checked, because the entry is not a web address or points to a private network.

What can you use it for?

  • Check every address of a site after a migration, a redesign or a change of domain
  • Confirm that old addresses redirect to the right new pages, with the right kind of redirect (301 for permanent moves)
  • Clean a list of links before you publish it or import it into another system
  • Find addresses in a spreadsheet, a sitemap or a backlink report that no longer work
  • Watch a fixed list on a schedule in Apify Console

Use it from the API

curl -X POST "https://api.apify.com/v2/acts/cyber1nj3ct0r~url-status-checker/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": [{"url": "https://www.example.com"}, {"url": "http://example.com/old-page"}]}'

The same works from Python, JavaScript, Make, Zapier and n8n through Apify's integrations.

FAQ

Why does a working page show as "blocked"?

Some sites, often the large ones, refuse automated requests even when the page exists. The tool reports what the site answered and does not try to get round it. Open the address in a browser to be sure.

Why is the order different from my list?

Addresses are checked several at a time, so results arrive in the order the checks finish. Sort by Place in list to get your original order back.

Does it read robots.txt?

It requests only the addresses you give it, once each, and follows no links, so it does not crawl and does not read robots.txt. To check a whole website, including the links on its pages, use a link checker instead.

A site blocks the tool. What can I do?

The tool identifies itself honestly in its User-Agent. If it is your own site, allow the User-Agent in your firewall, or set your own under More options.

Is it allowed to check URLs?

The tool makes one request per address, like a visitor opening the page. You are responsible for checking only addresses you are allowed to and for how you use the results.

Something does not work

Open an issue on the Issues tab with an address that shows the problem. Every report is read and answered.