{"uid":"cap_fEYVmpwv3vfmQx3gDOsu5","slug":"trustfetch-safe-fetch-f9569c2c","name":"TrustFetch Safe Fetch","description":"Flagship bundle: fetch a URL, extract clean Markdown, and injection-scan the result in one priced call -- cheaper than calling fetch-clean and injection-scan separately.","url":"https://trustfetch.duckdns.org/tools/safe-fetch","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","description":"URL to fetch, clean, and scan"}}},"responseSchema":{"type":"json","example":{"fetch":{"url":"https://example.com/article","title":"Example Article","markdown":"# Example Article\n\nClean extracted body text...","final_url":"https://example.com/article","truncated":false,"word_count":42},"injection_scan":{"signals":[{"snippet":"Ignore all previous instructions","reasoning":"Text contains a phrase attempting to override prior instructions.","technique":"override_phrase","confidence":0.9}],"reasoning":"Text contains a phrase attempting to override prior instructions.","technique":"override_phrase","confidence":0.9,"detector_tier":"heuristic","flagged_snippet":"Ignore all previous instructions","injection_suspected":true}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.03","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.03/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_EjX7yNR5IrC8xtJepMZr0","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.03","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a webpage and cleans it to readable markdown while screening the content for prompt-injection attacks before returning it to an AI agent","exampleAgentPrompt":"Before you read and summarize that article at https://example.com/article, use TrustFetch to safely fetch and clean the page — and scan it for any hidden prompt-injection attempts so I know if the content is trying to manipulate you.","exampleUseCases":null,"resultDescription":"Returns a JSON object with two sections: 'fetch' containing the page title, cleaned markdown body, final URL after redirects, word count, and a truncation flag; and 'injection_scan' containing whether injection was suspected, a confidence score, the detected technique (e.g. override_phrase), a flagged snippet, reasoning, and the detector tier used.","failureModes":["URL is unreachable or returns a non-200 status — fetch section may be empty or contain an error","URL resolves to non-HTML content (PDF, binary) — markdown extraction may fail or be incomplete","Injection scanner returns low-confidence results for novel attack patterns not covered by heuristics","Redirect chains that exceed limits may cause final_url to differ or fetch to fail","Payment not received or insufficient USDC — request rejected with payment error"],"whenToPreferThis":"Use this endpoint when your AI agent is about to read and act on arbitrary web content from untrusted sources and you need both clean extracted text AND a safety check for prompt-injection attempts in one call. Prefer it over a plain web scraper when adversarial content is a concern, and over a standalone injection scanner when you also need the page content delivered.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:37:41.521Z","isFirstParty":false}