Outbound Link Auditor - Every External Link, Checked Live
Pricing
$5.00 / 1,000 audited pages
Outbound Link Auditor - Every External Link, Checked Live
Audit a page's external links with evidence per link: rel/nofollow/sponsored flags, unsafe target=_blank (tabnabbing), non-HTTPS, live HEAD/GET status probes + redirect resolution. Up to 1,000 links/page. $0.005 per page incl. probes vs $0.04 measured incumbent; unreachable pages never charged.
Pricing
$5.00 / 1,000 audited pages
Rating
0.0
(0)
Developer
Anthony Snider
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
Outbound Link Auditor — Every External Link, Checked Live
Audit every external link on a page in one run: where it points, its rel attributes (nofollow/sponsored/ugc), whether target="_blank" is missing noopener (the tabnabbing hole), non-HTTPS destinations, and — live-probed — whether each link still works. Up to 50 pages per run, up to 1,000 links per page, online, by API, or as an agent tool via Apify MCP.
Outbound links rot silently: partners die, domains get resold to spam, http:// destinations linger for years, and every _blank without noopener hands the destination page control of your tab. This audit finds all of it with evidence per link.
What you get
- links — each external link:
href,domain, anchor text,rel+ parsedrelFlags,target,unsafeBlank,https, livestatus(HEAD with GET fallback) +finalUrlafter redirects - Aggregates —
externalCount,followedCountvsnofollowCount,unsafeBlankCount,nonHttpsCount,brokenCount - issues — plain-English page-level findings ready for a report
checkStatus: falseskips probing for a fast structure-only pass- Fail-soft: an unreachable page or HTTP error never fails the run —
{ok: false, error}, never charged.
Input
{ "url": "https://yoursite.com/resources", "checkStatus": true, "maxLinks": 100 }
Bulk: { "urls": ["...", "..."], "maxUrls": 50 }
Output (real run, trimmed)
{"url": "https://en.wikipedia.org/wiki/Web_crawler","ok": true,"externalCount": 93,"audited": 15,"followedCount": 4,"nofollowCount": 11,"unsafeBlankCount": 0,"nonHttpsCount": 2,"brokenCount": 1,"links": [{"href": "https://www.example-partner.com/page","domain": "example-partner.com","anchor": "Partner resource","rel": "nofollow","relFlags": { "nofollow": true, "sponsored": false, "noopener": false },"unsafeBlank": false,"https": true,"status": 200}],"issues": ["2 outbound link(s) use non-HTTPS (http://) destinations.", "1 broken outbound link(s) (HTTP >= 400 or unreachable)."]}
Pricing
$0.005 per page audited — including live status probes for up to maxLinks links (that is up to 100+ HTTP checks per charge). Unreachable pages are never charged.
Measured against store incumbents (2026-08-07): smart-digital/complete-seo-audit-tool charges $0.04 per page analyzed (489 users), skootle $0.01 start + $0.003 per item. A 50-page link audit here costs $0.25 vs $2 there.
Honest limits
- External = different registrable hostname than the page (www. normalized). Subdomains of the same site count as internal.
- Status probes use HEAD with GET fallback and follow redirects; a few servers answer bots differently than browsers —
status: nullwithstatusErrorreports exactly what happened rather than guessing. - Static HTML parsing — links injected by client-side JavaScript are not seen.
- Probing is sequential and bounded by
maxLinks(default 100, max 1,000); very link-heavy pages report the truncation honestly inissues.
FAQ
What is the unsafe _blank issue?
target="_blank" without rel="noopener" lets the destination page script your originating tab (window.opener) — a real phishing vector. unsafeBlank: true flags each offender; modern browsers mitigate it, old ones don't.
Can I use this for link-building hygiene?
Yes — followedCount vs nofollowCount shows exactly how much equity the page passes, per link, with the rel evidence.
How do I keep runs fast on huge pages?
Set checkStatus: false for structure-only audits (instant), or cap maxLinks — counts still report the full totals.
Does it check internal links too? No — this is the outbound half. Our broken-link-checker sibling covers internal crawling.
Why did some rows come back ok: false?
The page itself was unreachable or returned an HTTP error — nothing was audited. Recorded, never charged.
Use from code or AI agents
curl -s "https://api.apify.com/v2/acts/EliAI~outbound-link-auditor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-X POST -H 'Content-Type: application/json' \-d '{"url": "https://yoursite.com/blog/resource-roundup"}'
Agents: connect Apify MCP and call the EliAI/outbound-link-auditor tool.
- Capability: audit external links of one or many pages — rel flags, unsafe _blank, HTTPS, live status per link
- Required input:
url(string) orurls(array); optionalcheckStatus,maxLinks - Returns: one record per page;
links+issuescarry the findings - Bounded: 50 pages, 1,000 links each; failures isolate per page
- Side effects: none beyond HEAD/GET probes of the page's own listed links
For AI agents
This Actor is built to be called by software, not just by people.
- Mount it directly as an MCP tool — no Store search, no ranking, just this one tool:
https://mcp.apify.com/?actors=eliai/outbound-link-auditor - Or call it over HTTP and get the results in the same request:
POST https://api.apify.com/v2/acts/eliai~outbound-link-auditor/run-sync-get-dataset-items - Pay with x402, without an Apify account. This Actor is whitelisted for agentic payments, so an agent holding USDC on Base can buy a prepaid token and spend it here. The minimum purchase is $1, the token balance is an absolute spending cap, and it expires 14 days after purchase.
- Costs are predictable before you call. Pricing is pay-per-event (see Pricing above), so an agent can budget a run in advance instead of discovering the bill afterwards.
- Send only the field you mean. If you pass the bulk field, it is used on its own; the single-value field is a fallback, never merged into your request. You are charged for the items you sent and nothing else.