Bulk URL Status Checker
Pricing
from $0.60 / 1,000 urls
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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-controlorlast-modified
What data do you get?
| Field | Example |
|---|---|
| Address | http://example.com/old-page |
| Result | redirected (or ok, broken, blocked, skipped) |
| HTTP status | 200 |
| Problem | Redirects 2 times to https://www.example.com/new-page |
| Ends at | https://www.example.com/new-page |
| Redirect chain | 301 then 302 |
| Response time | 412 ms |
| Place in list | 17 |
How to check the status of many URLs
- 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).
- Press Start.
- 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 checked | Cost |
|---|---|
| 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.