{"ok":true,"resources":[{"resource":"weather.current","description":"Current weather conditions for a lat/lon coordinate.","category":"weather","costMilliUnits":100,"cache":{"enabled":true,"ttlMs":600000},"providers":[{"id":"open-meteo","name":"Open-Meteo","cost":1,"enabled":true,"byok":false,"trust":{"successRate":0.9903381642512077,"p95LatencyMs":509,"composite":0.8398622843917889,"samples":207}},{"id":"openweathermap","name":"OpenWeatherMap","cost":1.2,"enabled":false,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"weather.forecast","description":"Hourly + daily weather forecast for a lat/lon (canonical shape).","category":"weather","costMilliUnits":200,"cache":{"enabled":true,"ttlMs":1800000},"providers":[{"id":"open-meteo-forecast","name":"Open-Meteo Forecast","cost":1,"enabled":true,"byok":false,"trust":{"successRate":1,"p95LatencyMs":486,"composite":0.8552478572999169,"samples":3}}]},{"resource":"currency.convert","description":"Convert an amount between fiat currencies.","category":"finance","costMilliUnits":50,"cache":{"enabled":true,"ttlMs":3600000},"providers":[{"id":"frankfurter","name":"Frankfurter (ECB)","cost":1,"enabled":true,"byok":false,"trust":{"successRate":1,"p95LatencyMs":85,"composite":0.9665348379451311,"samples":204}},{"id":"exchangerate-api","name":"ExchangeRate-API","cost":0.9,"enabled":true,"byok":false,"trust":{"successRate":1,"p95LatencyMs":48,"composite":0.9716528893149521,"samples":208}}]},{"resource":"geo.ip","description":"Geolocation lookup for an IP address.","category":"geolocation","costMilliUnits":30,"cache":{"enabled":true,"ttlMs":86400000},"providers":[{"id":"ipwhois","name":"ipwho.is","cost":1,"enabled":true,"byok":false,"trust":{"successRate":0,"p95LatencyMs":37,"composite":0.2730335210238123,"samples":205}},{"id":"ipapi","name":"ipapi.co","cost":1.1,"enabled":true,"byok":false,"trust":{"successRate":1,"p95LatencyMs":164,"composite":0.9528713593343641,"samples":207}}]},{"resource":"rss.feed","description":"Fetch and parse a single RSS or Atom feed (canonical item shape).","category":"content","costMilliUnits":40,"cache":{"enabled":true,"ttlMs":300000},"providers":[{"id":"conduit-rss-fetcher","name":"Conduit RSS Fetcher","cost":1,"enabled":true,"byok":false,"trust":{"successRate":0.9656862745098039,"p95LatencyMs":4143,"composite":0.6759803958419456,"samples":204}}]},{"resource":"rss.aggregate","description":"Fetch and merge many feeds in parallel; deduped and sorted by date.","category":"content","costMilliUnits":200,"cache":{"enabled":true,"ttlMs":180000},"providers":[{"id":"conduit-rss-aggregator","name":"Conduit RSS Aggregator","cost":1,"enabled":true,"byok":false,"trust":{"successRate":1,"p95LatencyMs":5000,"composite":0.7000000000507569,"samples":260}}]},{"resource":"news.search","description":"Search recent news articles across multiple providers (canonical shape).","category":"news","costMilliUnits":150,"cache":{"enabled":true,"ttlMs":300000},"providers":[{"id":"newsapi","name":"NewsAPI.org","cost":1,"enabled":false,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}},{"id":"newsdata","name":"NewsData.io","cost":0.9,"enabled":false,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}},{"id":"gnews","name":"GNews.io","cost":1.1,"enabled":false,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"web.search","description":"Web search with normalized result schema across providers.","category":"search","costMilliUnits":200,"cache":{"enabled":true,"ttlMs":600000},"providers":[{"id":"brave-search","name":"Brave Search","cost":1,"enabled":false,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}},{"id":"duckduckgo-ia","name":"DuckDuckGo Instant Answer","cost":0.5,"enabled":true,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"ai.complete","description":"Chat-style LLM completion (BYOK to OpenAI or Anthropic).","category":"ai","costMilliUnits":10,"cache":{"enabled":false,"ttlMs":0},"providers":[{"id":"openai","name":"OpenAI (BYOK)","cost":1,"enabled":true,"byok":true,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}},{"id":"anthropic","name":"Anthropic (BYOK)","cost":1,"enabled":true,"byok":true,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"web.fetch","description":"Raw HTTP fetch with redirect tracking and a 5MB byte cap.","category":"scraping","costMilliUnits":50,"cache":{"enabled":false,"ttlMs":0},"providers":[{"id":"conduit-web-fetch","name":"Conduit Web Fetch","cost":1,"enabled":true,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"web.extract","description":"Auto-extract a page's structured signals: title, OG/Twitter, JSON-LD, microdata, article body, links, images. Optional CSS-selector overlay.","category":"scraping","costMilliUnits":100,"cache":{"enabled":true,"ttlMs":1800000},"providers":[{"id":"conduit-web-extract","name":"Conduit Web Extract","cost":1,"enabled":true,"byok":false,"trust":{"successRate":0.9397590361445783,"p95LatencyMs":4654,"composite":0.6578313255875071,"samples":249}}]},{"resource":"web.extract-schema","description":"Schema-driven page extraction. Provide a JSON Schema; an LLM (BYOK) fills it from the page.","category":"scraping","costMilliUnits":250,"cache":{"enabled":true,"ttlMs":900000},"providers":[{"id":"conduit-schema-extract","name":"Conduit Schema Extractor","cost":1,"enabled":true,"byok":true,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"web.render","description":"Render a URL in a real headless browser (Camoufox stealth or Playwright). Requires a bridge process; see bridges/.","category":"scraping","costMilliUnits":500,"cache":{"enabled":true,"ttlMs":300000},"providers":[{"id":"camoufox","name":"Camoufox (stealth Firefox)","cost":1.5,"enabled":true,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}},{"id":"playwright","name":"Playwright Chromium","cost":1,"enabled":false,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"knowledge.wikipedia","description":"Search Wikipedia and return the top-result summary in canonical shape.","category":"knowledge","costMilliUnits":30,"cache":{"enabled":true,"ttlMs":86400000},"providers":[{"id":"wikipedia","name":"Wikipedia","cost":1,"enabled":true,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"knowledge.translate","description":"Translate text between languages.","category":"knowledge","costMilliUnits":60,"cache":{"enabled":true,"ttlMs":86400000},"providers":[{"id":"mymemory","name":"MyMemory","cost":1,"enabled":true,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}},{"id":"libretranslate","name":"LibreTranslate","cost":0.9,"enabled":false,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"crypto.price","description":"Spot price of a crypto asset against a fiat currency.","category":"finance","costMilliUnits":50,"cache":{"enabled":true,"ttlMs":60000},"providers":[{"id":"coingecko","name":"CoinGecko","cost":1,"enabled":true,"byok":false,"trust":{"successRate":0.6774193548387096,"p95LatencyMs":554,"composite":0.6040656768974604,"samples":31}},{"id":"coinpaprika","name":"CoinPaprika","cost":1.1,"enabled":true,"byok":false,"trust":{"successRate":1,"p95LatencyMs":1008,"composite":0.7219303520267134,"samples":27}}]},{"resource":"time.now","description":"Current time + offset for a named IANA timezone.","category":"time","costMilliUnits":10,"cache":{"enabled":true,"ttlMs":30000},"providers":[{"id":"timeapi","name":"timeapi.io","cost":1,"enabled":true,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}},{"id":"worldtimeapi","name":"worldtimeapi.org","cost":1,"enabled":true,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"time.holidays","description":"Public holidays for a country and year (ISO 3166-1 alpha-2).","category":"time","costMilliUnits":20,"cache":{"enabled":true,"ttlMs":86400000},"providers":[{"id":"nager","name":"Nager.Date","cost":1,"enabled":true,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]},{"resource":"geo.air-quality","description":"Current air quality (US and European AQI plus pollutant concentrations).","category":"geolocation","costMilliUnits":30,"cache":{"enabled":true,"ttlMs":1800000},"providers":[{"id":"open-meteo-aq","name":"Open-Meteo Air Quality","cost":1,"enabled":true,"byok":false,"trust":{"successRate":1,"p95LatencyMs":479,"composite":0.8578677728116205,"samples":3}}]},{"resource":"geo.earthquakes","description":"Recent earthquake events from USGS.","category":"science","costMilliUnits":20,"cache":{"enabled":true,"ttlMs":300000},"providers":[{"id":"usgs","name":"USGS Earthquakes","cost":1,"enabled":true,"byok":false,"trust":{"successRate":1,"p95LatencyMs":275,"composite":0.9264744960602884,"samples":5}}]},{"resource":"gif.search","description":"Search a public GIF library (Tenor) for short reactions to drop into comments.","category":"social","costMilliUnits":50,"cache":{"enabled":true,"ttlMs":1800000},"providers":[{"id":"tenor","name":"Tenor (Google)","cost":1,"enabled":false,"byok":false,"trust":{"successRate":null,"p95LatencyMs":0,"composite":0.6272425459936269,"samples":0}}]}]}