Bulk URL Checker – HTTP Status & Broken Links avatar

Bulk URL Checker – HTTP Status & Broken Links

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Bulk URL Checker – HTTP Status & Broken Links

Bulk URL Checker – HTTP Status & Broken Links

Check 10000's of URLs in bulk for HTTP status codes, broken links, 404 errors, redirects, redirect chains, final URLs, and response times.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

halam

halam

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Bulk URL Status Checker & Redirect Tracer — HTTP Status Codes, Broken Links & Redirect Chains at Scale

Bulk-check thousands of URLs for HTTP status codes, full redirect chains, broken links, response times, and content type — all in one run. No browser, no login, no API key required. The go-to tool for SEO audits, site migrations, link monitoring, and QA pipelines.

Powered by RedirectChecker.com — built for speed, accuracy, and scale.


🏆 Why choose this Bulk URL Status Checker?

Check thousands of URLs per run · full hop-by-hop redirect chains · per-hop latency · 14 output fields per URL · 29 user agent options including Googlebot, GPTBot, and SEMrush · export to JSON / CSV / Excel.

The most data-rich bulk HTTP status checker on Apify — built for SEO professionals, developers, and QA teams who need more than just a status code.


✨ Key features

  • 🔗 Full redirect chain tracing — records every hop with URL, status code, latency, and complete response headers. Not just the final destination — every intermediate step.
  • 🚦 Complete HTTP status detection — captures 200 OK, 301/302 redirects, 403 Forbidden, 404 Not Found, 410 Gone, 429 Too Many Requests, 500 Server Error, and network errors (DNS failures, timeouts).
  • 🔴 Broken link detection — is_broken flag instantly identifies 4xx, 5xx, and network failures. Filter your entire dataset in one click.
  • ⏱️ Per-hop latency measurement — see exactly which redirect hop is slow, not just the total round-trip time. Millisecond precision.
  • 🤖 29 user agent options — check how Chrome, Googlebot, GPTBot, Bingbot, AhrefsBot, SEMrushBot, and 23 more browsers and crawlers see your URLs.
  • 📍 Check location reporting — shows which server location (e.g. Washington DC, Frankfurt, Tokyo) performed the check.
  • 📋 Content type & length — know what the final response returns, not just whether it responded.
  • ⚡ Concurrent batch processing — 3 batches of 100 URLs run in parallel. Fast even for large lists.
  • 🔄 Automatic retries — transient failures are retried automatically. Failed URLs always get a result, never silently dropped.
  • 📤 Export-ready — download every result as JSON, CSV, Excel, or JSONL from the Apify Dataset.

🚀 Quick start (3 steps)

  1. Add your URLs — paste them into the URLs to check field, one per line
  2. Choose your user agent — leave as chrome for standard checks, or pick googlebot to see what Google sees
  3. Click Start — results fill the dataset within seconds, ready to export as JSON / CSV / Excel

No API key. No login. No code to write.


📥 Input

FieldTypeDefaultDescription
urlsstring[]—Required. List of URLs to check. No hard limit.
userAgentstringchromeBrowser or bot user agent — see full list below
timeoutinteger10000Per-URL timeout in ms (1,000–60,000)
includeHeadersbooleantrueInclude full response headers for every hop
{
"urls": [
"https://example.com",
"https://example.com/old-page",
"https://example.com/contact"
],
"userAgent": "chrome",
"timeout": 10000,
"includeHeaders": true
}

Example input — Googlebot redirect check

{
"urls": [
"https://oldsite.com/legacy-path",
"https://oldsite.com/page-1",
"https://oldsite.com/page-2"
],
"userAgent": "googlebot",
"timeout": 10000,
"includeHeaders": true
}

Supported user agents

Desktop browsers

KeyBrowser
chromeChrome 124 — Windows (default)
chrome_macChrome 124 — macOS
firefoxFirefox 125 — Windows
safariSafari 17.4 — macOS
edgeEdge 124 — Windows
operaOpera 110 — Windows
braveBrave (Chrome engine)

Mobile

KeyDevice
mobileiPhone Safari — iOS 17
androidPixel 8 Chrome — Android
samsungSamsung Browser — Android

Search engine bots

KeyBot
googlebotGooglebot Desktop
googlebot_mobileGooglebot Mobile
bingbotBingbot
yandexbotYandexBot
duckduckbotDuckDuckBot
baidubotBaiduspider
applebotApplebot

Social media bots

KeyPlatform
twitterbotTwitter / X
facebookbotFacebook
linkedinbotLinkedIn
slackbotSlack
whatsappWhatsApp
telegramTelegram

AI bots

KeyBot
gptbotOpenAI GPTBot
claudebotAnthropic ClaudeBot
perplexitybotPerplexity AI

SEO tools

KeyTool
ahrefsbotAhrefs
semrushbotSEMrush
screamingScreaming Frog

📤 Output

One row per URL pushed to the Apify Dataset — 14 fields per result.

FieldTypeDescription
input_urlstringOriginal URL submitted
final_urlstringFinal URL after all redirects
final_statusintegerHTTP status code at the final destination
status_messagestringStatus text — e.g. OK, Not Found, Too Many Requests
is_brokenbooleantrue for 4xx, 5xx, and network errors
redirect_countintegerNumber of 3xx redirects followed
has_redirectbooleantrue if at least one redirect occurred
total_time_msintegerTotal round-trip time in milliseconds
content_typestringContent-Type of the final response
content_lengthintegerContent-Length of the final response in bytes
check_locationobjectServer location that performed the check — { iata, city }
chainarrayEvery hop: url, status_code, status_text, latency_ms, headers
checked_atstringISO 8601 timestamp
errorstringError message if request failed, otherwise null

Example — successful redirect (GitHub HTTP → HTTPS)

{
"input_url": "http://github.com",
"final_url": "https://github.com/",
"final_status": 200,
"status_message": "OK",
"is_broken": false,
"redirect_count": 1,
"has_redirect": true,
"total_time_ms": 31,
"content_type": "text/html",
"content_length": null,
"check_location": { "iata": "IAD", "city": "Washington DC" },
"chain": [
{ "hop": 1, "url": "http://github.com/", "status_code": 301, "status_text": "Moved Permanently", "latency_ms": 21, "headers": { "location": "https://github.com/" } },
{ "hop": 2, "url": "https://github.com/", "status_code": 200, "status_text": "OK", "latency_ms": 10, "headers": {} }
],
"checked_at": "2026-09-25T12:26:15.931Z",
"error": null
}
{
"input_url": "https://example.com/old-page",
"final_url": "https://example.com/old-page",
"final_status": 404,
"status_message": "Not Found",
"is_broken": true,
"redirect_count": 0,
"has_redirect": false,
"total_time_ms": 210,
"content_type": "text/html",
"content_length": 1256,
"check_location": { "iata": "LHR", "city": "London" },
"chain": [],
"checked_at": "2026-09-25T12:26:16.000Z",
"error": null
}

Example — network error

{
"input_url": "https://this-domain-does-not-exist.io/page",
"final_url": null,
"final_status": 0,
"status_message": "Network Error",
"is_broken": true,
"redirect_count": 0,
"has_redirect": false,
"total_time_ms": null,
"content_type": null,
"content_length": null,
"check_location": null,
"chain": [],
"checked_at": "2026-09-25T12:26:17.000Z",
"error": "getaddrinfo ENOTFOUND this-domain-does-not-exist.io"
}

HTTP status code reference

CodeMessageis_brokenMeaning
200OK❌Page loaded successfully
301Moved Permanently❌Permanent redirect (followed)
302Found❌Temporary redirect (followed)
308Permanent Redirect❌Permanent redirect (followed)
401Unauthorized✅Authentication required
403Forbidden✅Access denied
404Not Found✅Page does not exist
410Gone✅Page permanently removed
429Too Many Requests✅Rate limited by target server
500Internal Server Error✅Server-side error
503Service Unavailable✅Server temporarily down
0Network Error✅DNS failure, timeout, connection refused

💡 Use cases

SEO broken-link audits Export your full site URL list, run the actor, filter is_broken = true. Prioritize fixing 404s and 5xx errors by page importance to protect crawl budget and search rankings.

Redirect chain optimization Use chain[] to spot multi-hop redirect chains (redirect_count > 1) and collapse them into single direct redirects — saving latency and preserving link equity.

Site migration validation Confirm every old URL returns 301/308 and that final_url points to the correct new destination. Catch missing redirects before they cost you rankings.

Googlebot vs user comparison Run the same URL list twice — once with userAgent: googlebot and once with userAgent: chrome — to detect cloaking, soft 404s, or bot-specific behavior.

AI bot access auditing Use gptbot, claudebot, or perplexitybot to verify your robots.txt and server rules are correctly blocking or allowing AI crawlers.

Affiliate & backlink link health checks Verify that inbound affiliate links and earned backlinks still resolve to 200 OK. A 404 on a linked page means lost link equity and lost commissions.

API & webhook URL validation Run all endpoint URLs through the actor before deploying an integration. Confirm they return the expected 2xx rather than a surprise 4xx or 5xx.

Uptime & QA monitoring Schedule recurring runs via the Apify Scheduler and fire webhooks on completion to alert on newly broken links. Drop it into CI/CD as a link-health gate.

Content migration QA After a CMS migration, batch-check every URL in the old sitemap to confirm redirects are in place and no pages returned 404.


👥 Who uses this actor

  • SEO teams & auditors — identify 404s, redirect chains, and crawl budget leaks across large sites
  • Web developers & QA engineers — validate links after migrations, CMS changes, or deployments
  • Growth & affiliate marketers — monitor that earned backlinks and affiliate URLs resolve correctly
  • Site-migration engineers — verify redirect maps end-to-end before and after cutover
  • Content managers — keep internal and external link health clean across articles
  • Security researchers — inspect redirect chains and response headers for misconfigurations

⏰ Scheduling & integration

  • Schedule recurring runs (daily, weekly, or any cron interval) from the Apify Console
  • API-first — start runs and pull results programmatically via the Apify API; filter broken URLs with GET /v2/datasets/{id}/items?filter=is_broken%3Dtrue
  • Webhooks — trigger Slack, email, or your own endpoint on run completion
  • Pipeline it — chain with a Sitemap Crawler actor for a fully automated whole-site health check

❓ Frequently asked questions

Do I need an API key or login? No. Just paste your URLs and click Start.

How many URLs can I check per run? No hard limit. The actor batches URLs internally and processes them concurrently. Check an entire sitemap in a single run.

Does it follow redirects? Yes — up to 15 hops per URL. Every intermediate URL, status code, and latency is recorded in chain[].

How do I find all broken links? Filter the dataset by is_broken = true. This covers 4xx, 5xx, and network errors in one step.

How do I check HTTP (non-HTTPS) URLs? Both HTTP and HTTPS are fully supported.

Can I see how Googlebot crawls my URLs? Yes — set userAgent: googlebot or googlebot_mobile. You can also check with bingbot, ahrefsbot, semrushbot, gptbot, and 24 more user agents.

What does check_location mean? It shows which server location performed the check — for example { "iata": "IAD", "city": "Washington DC" }. Useful for detecting geo-based redirects or location-specific responses.

How do I export to CSV? Click Export on the dataset page and choose CSV. The chain[] array is serialized as JSON within the CSV cell; all scalar fields are separate columns.

Can I use it for scheduled link monitoring? Yes. Use the Apify Scheduler to trigger daily or weekly runs and connect webhooks or the API to alert when new broken links appear.

Is it legal? The actor sends standard HTTP requests to URLs you supply — the same as a browser or any link checker. You are responsible for checking only URLs you are authorized to access and for complying with applicable laws and the target sites' terms of service.


This actor sends standard HTTP GET requests to URLs you provide and reports the returned status metadata. No authentication bypass, no content harvesting, no scraping. You are responsible for checking only URLs you are authorized to access and for complying with target websites' terms of service, robots directives, and all applicable laws and regulations in your jurisdiction.