Bulk URL checker for lists of 100,000 links.

Give us the list, or your whole site. We check every URL, tell you which links are genuinely broken and which ones simply refused an automated visitor, and email you when the report is ready.

See what it costs

Try 15,000 URL checks your first month, on us. No card.

app.bulkurlchecker.com/jobs/a3f8c1e2
Report ready12,480 links · 4 min 12 s
Gone
318
Still refusing
64
Working
12,098
incl. 412 recovered

412 of these refused our first request and answered when we came back another way. A one-shot checker files those as broken.

Try it now. Paste a few URLs.

We check them on the next screen. Nothing to sign up for to start.

Missing https:// is fine, we add it. Up to 100,000 URLs from this form.

You'll sign up on the next screen, your URLs come with you.

749,103
links checked for customers
40,693
dead links found in the last 90 days
36,869
largest single run delivered
1,174
teams and solo operators

What a result means

We go back for the links that refused us.

Running this yourself, a few thousand requests in, sites start turning you away and your results fill with 403s you have to check by hand. Over the last 90 days 56,892 links refused one of our requests. We came back by a different route and 13,597 of them answered. Those are links your own run would have handed you as broken.

Recovered
It refused us, we came back another way, and it answered. You never see these as a problem, because they are not one. This is the work you are paying for.
403 → 200
Gone
The page is not there any more. This is the number you act on, and the only one we will call broken.
404 · 410
Still refusing
It turned us away on every route we tried. It usually loads fine for a person, so we list it apart and never count it against you.
401 · 403 · 418
Temporary
The server had a bad moment. We retry from a different route before we report anything.
5xx · timeouts
Working
It answered. Redirects are listed separately, because a link that moved is not a link that broke.
2xx · 3xx

Measured across 603 jobs and 41,308 domains in the 90 days to 21 September 2026. When we still cannot get a straight answer, we say so and name the reason. We do not put a confidence score on a link and leave you to guess.

How it works

How bulk URL checking works, in three steps.

Nothing to install, nothing to keep open. The check runs on our machines, and the report waits for you. Then you can go and do something else.

  1. 01

    Hand over the list

    Paste it, upload a CSV or Excel file, or give us a domain and we work as a bulk website checker: we read the site’s own list of pages and check every one. Up to 100,000 links in one run.

  2. 02

    We check every one

    From our own infrastructure, spread across routes so one slow host does not hold up the rest. A link that refuses us is retried elsewhere before we report it.

  3. 03

    Read the report, or close the tab

    Filter by verdict, export the rows you care about, or wait for the email. A 12,000 link run takes a few minutes and needs nothing from you.

10,000+ URLs

Check 10,000 URLs or more in one run.

Built for the list that broke your last tool. Ten thousand links and up is the normal case here, not the edge case, and everything below is about what happens at that size.

No row limit you will hit by accident
A hundred thousand links in one run. Paste them, upload the file, or point us at the site and we will find the pages ourselves.
Your laptop stays out of it
Desktop crawlers tie up the machine you work on and stop when it sleeps. This runs on ours, and the report is waiting whether you stayed or not.
Blocked is not broken
At this size a few hundred sites will refuse an automated visitor. We retry them from somewhere else and report them apart from the genuinely dead ones.
The same run, every week, on its own
Turn a list into a scheduled check and we tell you only what changed since the last run.
100,000links in a single run
36,869largest run delivered so far
96checks running in parallel, so one slow host holds up nothing else

Scheduled checks

Scheduled checks that watch for broken links daily or weekly.

Turn any list into a scheduled check and hear from us only when something breaks. We compare each run with the last one and write to you about the difference, not the whole report again.

  • Daily, every three days, weekly or monthly. Up to 100,000 links each time.
  • Email, Slack or your own webhook. Everyone you add confirms their address first, so alerts do not vanish into a filter.
  • A threshold you set. One flapping link should not wake anybody up.
  • Recoveries too, if you want them. Knowing a link came back matters when a client asked about it.
How the alerts work
3 links changed on acme.comBulk URL Checker · weekly check · 2,480 links

Since last Monday:

/guides/link-building200 → 404
partner.example/deal200 → 410
/blog/old-post404 → 200

Nothing else changed. The other 2,477 links answered exactly as they did last week.

API · SDKs · MCP

URL checking API, Python and Node SDKs, and an MCP server.

Never open the site at all. The same backend sits behind a REST API, two SDKs and a hosted MCP server, so Claude, ChatGPT and Cursor can run a check for you. One credit per URL, wherever the request comes from.

REST API for anything, Python and Node SDKs for scripts, a hosted MCP server for agents, and webhooks when you would rather be told than poll.

Read the docs · Bulk HTTP status checker

# check 2,480 links, get a job id back
curl -X POST https://api.bulkurlchecker.com/v2/jobs \
  -H "Authorization: Bearer $BUC_API_KEY" \
  -d '{"urls": ["https://example.com", ...]}'

{ "job_id": "9024c1a6", "queued": 2480 }

Pricing

Pricing: one credit per URL checked.

Try 15,000 URL checks your first month, on us. After that, a plan if you check regularly, or a pack of credits that roll over if you do not. The API, the SDKs and scheduled runs all cost the same.

How many links do you check a month?
2 months free on yearly
PlanLinks a monthPer 1,000Re-checks a list ofMonthly
Starter15,000$0.6015,000 links once a month$9 /mo
Procovers 50,00050,000$0.5811,000 links every week$29 /mo
Agency200,000$0.5046,000 links every week$99 /mo

At 50,000 links a month, Pro covers you for $29 a month. Scheduled checks, and email, Slack and webhook alerts, are included on every plan and during the trial. Setting one up costs nothing; only the runs use credits.

Or buy credits outright

For people who check in bursts rather than every month. No subscription, and pack credits roll over instead of resetting.

Everything included
3,000$5$1.67 per 1,000
10,000$9.99$1.00 per 1,000
30,000$23.99$0.80 per 1,000
75,000$49.99$0.67 per 1,000

Unused credits refunded within 7 days of purchase. Just ask.

No card. Nothing charges automatically.

FAQ

Bulk URL checker questions.

The things people ask before they upload anything. If yours is not here, write to us and a person answers: the address is at the bottom of this page.

Guides

Guides on link checking at scale.

Mostly for people who tried to do this with a script first, which is how nearly everyone arrives here.

Everything we have written

Try 15,000 URL checks your first month, on us.

No card. Setting up a scheduled check costs nothing; only the runs use credits, and unused credits roll over.

See pricing

We use analytics cookies to improve your experience. Opt out anytime in Cookie Settings. Privacy Policy

Settings