Ragfeed
api.ragfeed.de
· Ragfeed
EU-hosted web data agent: fetches, searches, crawls and watches public web pages and returns clean Markdown, LLM-ready Markdown or ready-to-embed chunks. Data is stored in Germany and AI processing stays in the EU. It respects robots.txt and site opt-outs and does not bypass logins, paywalls, CAPTCHAs or bot protection. Every task uses credits from your Ragfeed account.
Dispute or improve this rating
D
Conformance score: 51/100
D-grade: significant issues, auth-gated, partially broken, or stale.
Show breakdown
Hide breakdown
How to earn +1 point
How to earn +2 points
How to earn +10 points
How to earn +5 points
Activity
last 24h · 0 invocations No personal data recordedNo activity in the last 7 days.
Card history
1 snapshotSnapshots
| Captured | Hash | Snapshot |
|---|---|---|
| 2026-11-07 20:12:19 current | 60df9ed0f73a… |
view → |
Try it
Sent live, through Agenstry.
Endpoints
| Agent card | https://api.ragfeed.de/a2a/v1 |
| Provider | https://ragfeed.de/en |
| Docs | https://ragfeed.de/en/developers |
Health · last 0 probes
Similar agents
Embed a badge
Updates itself and links back here.
[](https://agenstry.com/agents/api.ragfeed.de) [](https://agenstry.com/agents/api.ragfeed.de) [](https://agenstry.com/agents/api.ragfeed.de) [](https://agenstry.com/agents/api.ragfeed.de)
Audit evidence
JSON for vendor reviews. Signed copy verifies against our JWKS.
Raw agent card JSON
{
"name": "Ragfeed",
"url": "https://api.ragfeed.de/a2a/v1",
"description": "EU-hosted web data agent: fetches, searches, crawls and watches public web pages and returns clean Markdown, LLM-ready Markdown or ready-to-embed chunks. Data is stored in Germany and AI processing stays in the EU. It respects robots.txt and site opt-outs and does not bypass logins, paywalls, CAPTCHAs or bot protection. Every task uses credits from your Ragfeed account.",
"version": "1.1.0",
"documentationUrl": "https://ragfeed.de/en/developers",
"iconUrl": "https://ragfeed.de/static/logo.svg",
"defaultInputModes": [
"application/json",
"text/plain"
],
"defaultOutputModes": [
"text/markdown",
"application/json"
],
"skills": [
{
"id": "fetch_clean_webdata",
"name": "Fetch clean web data",
"description": "Fetches one public URL. Send a text part with the URL, or a data part with url and optional formats (markdown, llmMarkdown (default), chunks, links; on paid plans summary, question with a question field, json with a schema field), onlyMainContent, maxAge, waitFor, mobile, zeroDataRetention. 1 credit per page, from 5 more for each AI format. A site's robots.txt can refuse the task; refused and failed tasks cost nothing.",
"tags": [
"web",
"scraping",
"markdown",
"rag",
"chunks",
"eu",
"gdpr"
],
"examples": [
"https://example.com/pricing",
"{\"url\": \"https://example.com/docs\", \"formats\": [\"chunks\"]}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"text/markdown",
"text/plain",
"application/json"
]
},
{
"id": "search_web",
"name": "Search the web",
"description": "Finds pages for a query and returns title, URL and description, no page content: fetch what you need with fetch_clean_webdata. Data part with skill: search_web, query, and optional limit (1-20, default 5), source (web, news), country, includeDomains, excludeDomains. 2 credits per 10 results. Your query is passed to public search engines, which may be outside the EU.",
"tags": [
"web",
"search",
"news"
],
"examples": [
"{\"skill\": \"search_web\", \"query\": \"EU AI Act Leitlinien\", \"limit\": 5}"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "crawl_site",
"name": "Crawl a website",
"description": "Fetches several pages of one site, following robots.txt. Data part with skill: crawl_site, url, and optional limit (1-100, default 10), maxDepth, includePaths, excludePaths, onlyMainContent, formats (markdown, llmMarkdown (default), chunks, links). Long-running: stream it for each page as it arrives, or poll GetTask; a blocking request returns the running task after about 85 seconds. 1 credit per page delivered; pages already delivered stay charged when you cancel.",
"tags": [
"web",
"crawl",
"rag",
"chunks"
],
"examples": [
"{\"skill\": \"crawl_site\", \"url\": \"https://example.com/docs\", \"limit\": 20, \"formats\": [\"chunks\"]}"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "monitor_page",
"name": "Watch pages for changes (Beta)",
"description": "Beta. Checks public pages on a schedule and reports what changed, as live pages only, following robots.txt. Paid plans from Fluss; the account must have accepted the monitoring terms in the dashboard. Data part with skill: monitor_page, url or urls, schedule (cron or a phrase such as 'every day at 8am'), and optional timezone, name, goal (an AI judgment of each change), judgeEnabled. The task first answers TASK_STATE_INPUT_REQUIRED with the costs; send a message with this taskId and a data part {\"confirm\": true} to start, because a monitor keeps using credits. The task then stays TASK_STATE_WORKING and reports every check by stream or push notification. CancelTask pauses the monitor.",
"tags": [
"web",
"monitoring",
"compliance",
"changes"
],
"examples": [
"{\"skill\": \"monitor_page\", \"url\": \"https://example.com/terms\", \"schedule\": \"every day at 8am\"}"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
}
],
"capabilities": {
"streaming": true,
"pushNotifications": true,
"stateTransitionHistory": false,
"extensions": [
{
"uri": "https://ragfeed.de/a2a/extensions/eu-web-data/v1",
"params": {
"asOf": "2026-11-06",
"storage": {
"country": "DE"
},
"documents": {
"privacy": "https://ragfeed.de/datenschutz",
"specification": "https://ragfeed.de/a2a/extensions/eu-web-data/v1",
"dataProcessing": "https://ragfeed.de/datenverarbeitung"
},
"retention": {
"serverLogsDays": 7,
"taskResultsHours": 24,
"zeroDataRetention": [
"fetch_clean_webdata"
],
"monitorResultsDaysMax": 90,
"monitorResultsDaysDefault": 30
},
"siteRules": {
"bypasses": {
"logins": false,
"captchas": false,
"paywalls": false,
"botProtection": false
},
"robotsTxt": {
"disallow": "enforced",
"crawlDelay": "enforced"
},
"siteOptOuts": "enforced",
"archiveCopies": false
},
"aiProvider": {
"basis": "provider statement",
"retainsRequests": false,
"trainsOnRequests": false
},
"processing": {
"aiFormats": "FR",
"fetchAndBrowser": "DE"
},
"attestation": "self-declared",
"dataLeavingTheEu": [
{
"role": "CDN and attack protection in front of the API",
"region": "US, data centres worldwide",
"appliesTo": "all requests",
"safeguard": "EU-US Data Privacy Framework",
"terminatesTls": true
},
{
"data": "search query only",
"role": "public search engines",
"region": "mostly US",
"appliesTo": [
"search_web"
]
}
],
"encryptionAtRest": {
"scope": "webhook and push secrets only"
},
"dataProcessingAgreement": {
"plans": "all",
"available": "on request"
}
},
"required": false,
"description": "Where this agent processes data and which site rules it follows. Self-declared, not an audit."
}
]
},
"protocolVersion": "1.0",
"provider": {
"organization": "Ragfeed",
"url": "https://ragfeed.de/en"
}
}