Broken Link Checker: 404s, Redirects and Dead Links
broken_link_checkerCheck site or page links for broken and redirecting URLs, returning HTTP status and redirect details so SEO, content, and agency teams can build 404 reports.
Instructions
Crawl one or more start pages and check every unique http(s) link for HTTP status, final URL after redirects, a broken flag (status 400+) and a redirected flag, with external links checked by default. Unlike ai_search_seo_audit (page SEO/GEO scoring) and website_change_monitor (content diffs over time), this finds dead and redirecting links. Use when SEO, content or agency teams need a 404 report for a site or page. Do not use to search the web, to crawl a whole large site in one call or to check private or internal addresses (blocked and never billed). Parameters: startUrls (required in practice) are the pages crawled; maxPages is pages followed per host (1 = only the start pages); maxLinks caps checked links and therefore billing; checkExternal=false stays on-site; timeoutSecs is the per-request timeout (default 15). Billed per link that returns an HTTP status; timeouts, DNS failures and robots-skipped targets are free. Returns per item: agentSummary, originalUrl, finalUrl, statusCode, broken, redirected, external, contentType, sourcePage, error; plus LINKS_XLSX (all links plus a Broken sheet)/CSV.
Behavior: read-only; runs the Apify Actor pandadad0214/broken-link-checker (https://apify.com/pandadad0214/broken-link-checker) on your own Apify account. Price: $0.001 per link checked. Runs that find nothing are not charged per result, and spending is capped per call by run_max_charge_usd (default $0.50). run_max_items (default 50) limits items returned and fills maxLinks when you leave it unset, so it also limits what is billed; setting maxLinks higher can bill more than is returned. Most calls finish in 5-15 s for a few inputs; large inputs or crawls can take minutes, so raise run_timeout_secs (max 300) or shrink the input after a timeout error. Returns JSON {actor, count, items}; long text output is trimmed to whole items, with all items in structuredContent.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "broken_link_checker"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| maxLinks | No | Maximum links to check. Maximum unique http(s) URLs to check. This is what you are charged for. Hard max 2,000. (maxResults is accepted as an alias.) | |
| maxPages | No | Pages to crawl per host. How many HTML pages on the same host as each start URL to fetch for extracting more links. 1 = only the start URL(s). Further same-host pages are queued only when this is greater than 1. robots.txt is respected for crawl sources. | |
| startUrls | No | Start URLs. Pages to start from. The Actor fetches each page, extracts http(s) links, and checks them. Leave empty for a short demo on example.com. One URL per line. | |
| timeoutSecs | No | Per-request timeout (seconds). How long to wait for each request. Timed-out URLs are recorded but not charged. | |
| checkExternal | No | Check outbound (external) links. When on, links to other hosts are checked too. Turn off to check only same-host links. | |
| run_max_items | No | Optional. Most results to return from this call (default from PANDA_MAX_ITEMS, 50). Also limits how many results the Actor produces and charges for, unless you set its own max field. | |
| run_timeout_secs | No | Optional. Seconds to wait for results (default from PANDA_TIMEOUT_SECS, 120; max 300). | |
| run_max_charge_usd | No | Optional. Hard spending cap for this call in USD (default from PANDA_MAX_CHARGE_USD, 0.50). |