Skip to content
YAS.SH
URL & Links🌐 YAS server-sideAPI availablebeginner

Link Checker

Checks whether a URL is reachable from your browser and reports how long the request took.

Processed by YAS · not stored
Ready to runInstant execution
All tools →
ReadyPowered by SSRF-hardened server diagnostics

Security & Privacy: The reachability test is performed by YAS.SH infrastructure through an SSRF-hardened outbound engine. Private, loopback, and metadata network endpoints are strictly blocked.

What does this tool do?

Checks whether a URL is reachable from your browser and reports how long the request took.

Why would I use it?

  • A link in your content is 404-ing or timing out and you want to confirm.
  • You are auditing outgoing links before publishing.
  • You want a quick reachability check without a server.

Real-life example

Input
https://example.com
Output
✓ Reachable — request completed in 320 ms

The check runs from your browser, not from YAS.

Input → Process → Output → Next

Input
Enter an http/https URL.
Process
Your browser sends a request directly to the target (CORS restricts reading the status).
Output
Reachable / unreachable plus response time, or a validation error.
Next action
For details like status codes, use HTTP Header Viewer or Domain Monitoring.

Common mistakes

  • Expecting the exact HTTP status (browsers hide it for cross-origin requests).
  • Checking internal/private URLs (your browser may refuse mixed content or local addresses).
  • Forgetting the https:// scheme.

What the result means

Reachable means the target answered the request from your network.

Privacy & security

Your input is sent to YAS infrastructure because the tool requires server-side processing or public network queries. Input is not stored.

API

Endpoint
POST https://yas.sh/api/v1/tools/link-checker
Request Header
Content-Type: application/json
cURL
curl -X POST "https://yas.sh/api/v1/tools/link-checker" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'
JavaScript
const res = await fetch("https://yas.sh/api/v1/tools/link-checker", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
  "url": "https://example.com"
}),
});
const data = await res.json();
Python
import requests

r = requests.post("https://yas.sh/api/v1/tools/link-checker", json={"url":"https://example.com"})
data = r.json()
FieldTypeRequiredDescription
urlstringYesTarget http/https URL
Success response
{ "url": "https://example.com", "finalUrl": "https://example.com", "reachable": true, "healthy": true, "status": 200, "statusText": "OK", "responseTimeMs": 120, "redirectCount": 0 }

Check URL reachability, HTTP status code, response time, and redirect chain.

Error responses
  • 400 VALIDATION_ERROR — invalid input or unsupported option.
  • 413 PAYLOAD_TOO_LARGE — input exceeds the 64 KB limit.
  • 429 RATE_LIMIT_EXCEEDED — rate limit exceeded (60 req/min).
Limits
  • Maximum input: 64 KB per request.
  • Rate limit: 60 requests/min per IP address.
  • Authenticated accounts benefit from higher tier quotas.

Link Checker: technical reference, use cases and FAQ

How Link Checker works

Each URL is requested and its final status recorded after following redirects. The useful classification is not simply 2xx versus everything else: a 301 means the link works but should be updated to its destination, a 403 often means the server blocks automated clients rather than that the page is gone, a 429 means you are being rate-limited, and only 404 and 410 reliably indicate a genuinely dead target.

Bot mitigation makes external link checking inherently noisy. Cloudflare, Akamai and similar services return 403 or a challenge page to any client without a browser fingerprint, so a link that a user opens without difficulty is reported as broken. This is why automated link reports need human triage rather than automated remediation.

When to use it: real-world scenarios

Auditing documentation after a restructure

Internal links break silently when pages move. Checking them catches the ones no reader will report and every reader will hit.

Cleaning up an old article

External links decay steadily — a five-year-old post typically has several dead references, which readers read as neglect.

Verifying a migration before switching DNS

Checking the new site's internal links while the old one still serves traffic is the last cheap opportunity to catch mistakes.

Finding redirect chains among your own links

Internal links pointing at URLs that now redirect add latency to every page and are trivial to update at the source.

Pro tips

  • Triage by status code. 404 and 410 need action; 403 and 429 usually mean the checker was blocked, not that the link is dead.
  • Fix internal links first — they are entirely within your control and affect crawling and user experience most directly.
  • For dead external references, link to an archive snapshot rather than deleting the citation; the reference still has value.
  • Re-check before acting on a report. Transient failures are common, and a single probe is weak evidence.

Limitations and edge cases

What this tool deliberately does not do, and where it will disagree with other implementations.

  • Requests originate from YAS infrastructure, so sites blocking datacentre traffic report false failures.
  • Only HTTP status is evaluated: a page returning 200 with 'this page has moved' content is reported as healthy.
  • Rate limits on the target may cause cascading false failures when checking many links on one host.
  • Links behind authentication, paywalls or geographic restrictions cannot be verified.

Frequently asked questions

Why are working links reported as broken?
Bot protection. Cloudflare and similar services return 403 or a challenge to clients without a browser fingerprint, so a link you can open is reported as failing. Treat 403 as inconclusive.
Do broken links hurt SEO?
Broken internal links waste crawl budget and degrade user experience measurably. A few dead external links are normal and not a direct ranking penalty, but they signal an unmaintained page.
Should I remove dead external links?
Prefer replacing them with an archive snapshot. Removing the citation loses the reference entirely; pointing at an archived copy keeps it useful.
What does a 429 response mean?
Rate limiting — you are checking too many URLs on one host too quickly. Slow the checks down; it says nothing about whether the link is valid.
Ask YAS AI
🍪 Cookies & privacy. Essential cookies keep you signed in and remember language and theme. Google AdSense and reCAPTCHA are Google technologies: AdSense runs only after Accept All; reCAPTCHA loads on sign-in and contact forms. See how Google uses data: https://policies.google.com/technologies/partner-sites cookie policy · privacy policy.
Settings