PlainRows

Broken Link Checker: 404s, Redirect Chains & Sitemaps

Crawl any website and find broken links (404, 500, dead domains), redirect chains and sitemap problems, with the page and anchor text of each bad link. Checks internal, external, image, script and CSS links. Fast HTTP crawler, no browser. Pay only per page crawled.

Try it on Apify   Actor status

Typical uses

Pricing

Pay per use, no subscription, no monthly fee. The price depends on your Apify plan. Apify's free plan includes $5 of usage every month.

You pay perFree planStarterScaleBusiness
Page
One HTML page of your website crawled, with every link on it checked (internal, external, images, scripts, stylesheets). Result rows, redirects, non-HTML files, broken internal URLs and the run summary are free.
$0.0015$0.001$0.0008$0.0006

Run it from your code

Get an API token in the Apify Console (Settings → Integrations), then:

curl -X POST \
  "https://api.apify.com/v2/acts/plainrows~broken-link-checker/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
  "startUrls": [
    {
      "url": "https://the-internet.herokuapp.com/"
    }
  ]
}'
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("plainrows/broken-link-checker").call(run_input={'startUrls': [{'url': 'https://the-internet.herokuapp.com/'}]})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)

Use it in automations and AI agents

Full documentation, input options and output fields: https://apify.com/plainrows/broken-link-checker