{"uid":"cap_RLSO9u4s15NVH--TjEFY8","slug":"url-preflight-checker-fe9975ee","name":"URL Preflight Checker","description":"Check a URL before fetching it: is it alive, final URL after redirects, HTTP status, content type, HTML title, and whether robots.txt allows your user-agent. Link checker and fetch preflight for agents.","url":"https://toolbelt402.tpoborne.workers.dev/url/preflight","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["url"],"properties":{"ua":{"type":"string","description":"User-agent to evaluate robots.txt against"},"url":{"type":"string","description":"Absolute http(s) URL to check"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Y6AjQ37-t0WQLJPDh8QGY","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Checks a URL before fetching it, returning liveness, final URL after redirects, HTTP status, content type, HTML title, and robots.txt accessibility for a given user-agent.","exampleAgentPrompt":"Before I fetch https://example.com/some-article, can you preflight that URL and tell me if it's alive, what the final URL is after any redirects, the HTTP status, content type, HTML title, and whether robots.txt allows my user-agent 'MyBot/1.0'?","exampleUseCases":[{"title":"Pre-crawl link validation for a scraper","prompt":"I'm about to scrape a list of URLs — can you check https://news.ycombinator.com/item?id=12345 first to confirm it's alive, see if there are any redirects, and verify that robots.txt allows my crawler agent 'HNBot/2.0' before I start?"},{"title":"Broken link detection in a content audit","prompt":"I'm auditing our site's outbound links — check https://old-partner-site.com/blog/post-from-2019 and tell me its HTTP status, whether it's still up, and where it finally lands if it redirects."},{"title":"Safe fetch preflight before agent tool use","prompt":"Before my agent fetches https://api.example.com/data.json, run a preflight on it — I need to know if it's reachable, what content type it serves, and whether the URL redirects anywhere unexpected."}],"resultDescription":"Returns whether the URL is alive, the final URL after following all redirects, the HTTP status code, the content-type header, the HTML page title, and a boolean indicating whether robots.txt permits the specified user-agent to access the resource.","failureModes":["Target URL is unreachable or times out — returns liveness false with no status","Invalid or non-absolute URL provided — returns validation error","robots.txt itself is unreachable — robots check may be inconclusive or default to allow","URL resolves to a non-HTTP scheme — unsupported, likely returns error","Redirect loop detected — may time out or return loop error"],"whenToPreferThis":"Choose this endpoint when an agent needs to safely preflight a URL before committing to a full fetch — especially useful for checking redirect chains, detecting dead links, verifying content type before parsing, and respecting robots.txt before crawling. Prefer it over a raw HTTP fetch when you want metadata without downloading the full body, or when you need robots.txt compliance checking as part of your workflow.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:38:21.678Z","isFirstParty":false}