For content databases, knowledge bases and docs
Every month, a few hundred of the links in your knowledge base stop working. Nothing tells you. Your reader finds out first.
Up to 100,000 URLs in one job, free to run. No credit card. You see how many are broken before you pay anything.
Docs / Authentication
Configuring SSO with SAML
Figure 2. The assertion round trip.
Further reading
Docs / Authentication
Configuring SSO with SAML
Further reading
Every link on this page renders exactly like a working one, and the diagram it walks you through never loads at all.
You have almost certainly been here already. It goes wrong three ways.
article-links.csv
40,000 rows
Split into 8 files and try again
Built to crawl one website. Yours is a list pointing at hundreds.
Checking
4,182 / 40,000
Last update 41 minutes ago
Worse than refusing. You get a tenth of an answer and no way to tell which tenth.
4,182 of 4,182 blocked
None of those pages was broken. Nothing in that report tells you so.
Here, the list goes in once and the job ends.
Running the check is free. Paste or upload the list, and we tell you how many of them are dead. That number costs nothing and it is the part you need in order to decide whether the rest is worth anything to you.
Credits unlock which ones. One credit reveals one result, and your first 300 are free.
An audit tells you about today. The database is still being edited, so it is wrong again by the next release.
Set a cadence and you hear from us only when something changed. Re-running costs nothing, so watching a list weekly costs the same as watching it once.
Docs / Authentication
Configuring SSO with SAML
Further reading
Every link on this page renders exactly like a working one, and the diagram it walks you through never loads at all.
If the URLs come out of a table, the check probably belongs in a nightly job rather than a browser tab. Pull them, send them, act on what comes back broken.
Same backend and same credits as the web app, so a scheduled job in your own infrastructure and a run from the dashboard behave identically. There is a REST API, Python and Node SDKs, and a hosted MCP server for Claude, ChatGPT and Cursor.
# pip install bulkurlchecker
from bulkurlchecker import Client
client = Client(api_key="uck_live_YOUR_KEY")
# however your content actually lives
urls = [row.url for row in db.query(
"SELECT url FROM article_links WHERE external = true"
)]
results = client.check_urls(urls)
for r in results.broken:
print(r.status_code, r.url)Yes. The largest single job is 100,000 URLs, and running it costs nothing. The list is checked in the cloud, so nothing runs on your machine and there is no batch size to manage yourself.
Nothing. Running the check is free for up to 100,000 URLs per account, and you get the count of how many are broken for free. Credits unlock which specific URLs those are: 1 credit reveals 1 result, and the first 300 are free.
Three ways, usually. It refused a list that size outright, because it was built to crawl one website rather than check a list. It accepted the list and stopped partway, leaving you a fraction of an answer. Or it came back with everything blocked, which looks like thousands of dead pages and is not. Here the whole list goes in once and the job ends.
No, and we do not count it as one. A 403 a real visitor would never hit is our failure to measure, not your dead page. The headline number is only the links that are definitely gone. Anything we are unsure about is listed apart from it rather than folded in to make the number look bigger.
No. A scheduled check re-runs the same list on a cadence and emails you when something changes. Running a scheduled check is free, the same as running one by hand, so the cost of watching a list does not grow with how often you watch it.
Starter is $9 per month and unlocks 15,000 URL results per month; Pro is $29 per month and unlocks 50,000 URL results per month; Agency is $99 per month and unlocks 200,000 URL results per month. One-off credit packs start at $9.99 for 10,000 results if a month runs long.
Yes. There is a REST API, Python and Node SDKs, and a hosted MCP server for Claude, ChatGPT and Cursor. Same backend and same credits as the web app, so a scheduled job in your own infrastructure and a run from the dashboard behave identically.
Up to 100,000 URLs. No credit card. You see the count before you pay.
We use analytics cookies to improve your experience. Opt out anytime in Cookie Settings. Privacy Policy