{"success":true,"data":[{"id":"svc_screenshot_01","slug":"screenshot","name":"Screenshot API","description":"Capture any URL as a PNG screenshot. Returns image_base64 (base64 PNG — decode to get raw bytes). Full JS rendering via Playwright, works on SPAs and dynamic content. Params: url (required), width px (default 1280), height px (default 800), full_page boolean, wait_ms.","category":"visual","endpoint":"https://agentsvc.io/api/v1/proxy/screenshot","price_usdc":0.005,"latency_p99_ms":2800,"input_schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"The URL to capture"},"width":{"type":"integer","default":1280,"description":"Viewport width in pixels"},"height":{"type":"integer","default":800,"description":"Viewport height in pixels"},"full_page":{"type":"boolean","default":false,"description":"Capture full page height"},"wait_ms":{"type":"integer","default":1000,"description":"Wait time after page load in ms"}}},"output_schema":{"type":"object","required":["image_base64","width","height","url","captured_at"],"properties":{"image_base64":{"type":"string","description":"Base64-encoded PNG image (decode to get raw bytes)"},"width":{"type":"integer","description":"Actual image width in pixels"},"height":{"type":"integer","description":"Actual image height in pixels"},"url":{"type":"string","description":"The URL that was captured"},"captured_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of when screenshot was taken"}},"example":{"image_base64":"iVBORw0KGgoAAAANSUhEUgAABQAAAASwCAYAAACPT...","width":1280,"height":800,"url":"https://example.com","captured_at":"2026-04-07T12:00:00.000Z"}},"is_active":true,"provider":"agentsvc.io","tags":["browser","visual","playwright","screenshot","png"]},{"id":"svc_weather_02","slug":"weather","name":"Weather Data","description":"Real-time weather + 3-day forecast. Returns current (temp_c, feels_like_c, humidity_pct, wind_kph, weather_code) and forecast_3d array. Pass location as city name ('Berlin') or GPS string ('52.52,13.41'). WMO codes: 0=clear, 1-3=cloudy, 45-48=fog, 51-67=rain, 71-77=snow, 95-99=thunderstorm.","category":"data","endpoint":"https://agentsvc.io/api/v1/proxy/weather","price_usdc":0.002,"latency_p99_ms":400,"input_schema":{"type":"object","required":["location"],"properties":{"location":{"type":"string","description":"City name (e.g. 'Berlin'), or lat,lon string (e.g. '52.52,13.41'). Default: Berlin","default":"Berlin"}}},"output_schema":{"type":"object","required":["location","current","forecast_3d"],"properties":{"location":{"type":"object","required":["name","lat","lon"],"properties":{"name":{"type":"string","description":"Location name as provided in input"},"lat":{"type":"number","description":"Resolved latitude"},"lon":{"type":"number","description":"Resolved longitude"}}},"current":{"type":"object","required":["temp_c","feels_like_c","humidity_pct","wind_kph","weather_code"],"properties":{"temp_c":{"type":"number","description":"Current temperature in Celsius"},"feels_like_c":{"type":"number","description":"Apparent temperature in Celsius"},"humidity_pct":{"type":"integer","description":"Relative humidity percentage (0-100)"},"wind_kph":{"type":"number","description":"Wind speed in km/h"},"weather_code":{"type":"integer","description":"WMO weather code (0=clear, 1-3=cloudy, 45-48=fog, 51-67=rain, 71-77=snow, 80-82=showers, 95-99=thunderstorm)"}}},"forecast_3d":{"type":"array","description":"3-day daily forecast","items":{"type":"object","required":["date","temp_max_c","temp_min_c","weather_code"],"properties":{"date":{"type":"string","format":"date","description":"ISO 8601 date (YYYY-MM-DD)"},"temp_max_c":{"type":"number","description":"Maximum temperature in Celsius for this day"},"temp_min_c":{"type":"number","description":"Minimum temperature in Celsius for this day"},"weather_code":{"type":"integer","description":"WMO weather code — same scale as current.weather_code"}}}}},"example":{"location":{"name":"Berlin","lat":52.52,"lon":13.41},"current":{"temp_c":12.5,"feels_like_c":10.2,"humidity_pct":71,"wind_kph":14.8,"weather_code":3},"forecast_3d":[{"date":"2026-04-07","temp_max_c":14,"temp_min_c":8.2,"weather_code":1},{"date":"2026-04-08","temp_max_c":16.5,"temp_min_c":9,"weather_code":2},{"date":"2026-04-09","temp_max_c":13,"temp_min_c":7.8,"weather_code":61}]}},"is_active":true,"provider":"agentsvc.io","tags":["weather","geolocation","forecast","climate","realtime"]},{"id":"svc_exchange_03","slug":"exchange-rates","name":"Currency Exchange Rates","description":"Live forex rates from European Central Bank (ECB), updated hourly. Returns rates object mapping currency codes to rates relative to base. Pass symbols array to filter (e.g. ['USD','CHF','GBP']). Empty symbols = all 30+ currencies. Use for currency conversion in invoices, pricing, or financial calculations.","category":"finance","endpoint":"https://agentsvc.io/api/v1/proxy/exchange-rates","price_usdc":0.001,"latency_p99_ms":300,"input_schema":{"type":"object","properties":{"base":{"type":"string","default":"EUR","description":"Base currency (e.g. USD, EUR, GBP)"},"symbols":{"type":"array","items":{"type":"string"},"description":"Target currencies to return. Empty = all."}}},"output_schema":{"type":"object","required":["base","date","rates","source"],"properties":{"base":{"type":"string","description":"Base currency code (e.g. EUR)"},"date":{"type":"string","format":"date","description":"Date of the exchange rates"},"rates":{"type":"object","additionalProperties":{"type":"number"},"description":"Map of currency code → exchange rate relative to base"},"source":{"type":"string","description":"Data source attribution. Always: 'European Central Bank via frankfurter.dev'"}},"example":{"base":"EUR","date":"2026-04-07","rates":{"USD":1.0892,"CHF":0.9242,"GBP":0.8594,"JPY":161.32},"source":"European Central Bank via frankfurter.dev"}},"is_active":true,"provider":"agentsvc.io","tags":["forex","finance","currency","exchange","ecb"]},{"id":"svc_htmlpdf_04","slug":"html-to-pdf","name":"HTML to PDF","description":"Render a URL or raw HTML string to PDF. Returns pdf_base64 (base64 PDF — decode to get raw bytes) and page_count. Provide url OR html — never both. Supports format (A4/Letter/Legal), landscape boolean, and margin settings (top/bottom/left/right in CSS units). Use for invoices, reports, or printable document generation.","category":"visual","endpoint":"https://agentsvc.io/api/v1/proxy/html-to-pdf","price_usdc":0.008,"latency_p99_ms":3500,"input_schema":{"description":"Provide either 'url' OR 'html' (not both). Common fields (format, landscape, margin) apply to both.","oneOf":[{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"URL to render as PDF (must be publicly accessible)"},"format":{"type":"string","enum":["A4","Letter","Legal"],"default":"A4","description":"Page format"},"landscape":{"type":"boolean","default":false,"description":"Landscape orientation"},"margin":{"type":"object","description":"Page margins (CSS units, e.g. '1cm', '10mm', '0.5in')","properties":{"top":{"type":"string","default":"1cm"},"bottom":{"type":"string","default":"1cm"},"left":{"type":"string","default":"1cm"},"right":{"type":"string","default":"1cm"}}}}},{"type":"object","required":["html"],"properties":{"html":{"type":"string","description":"Raw HTML string to render as PDF"},"format":{"type":"string","enum":["A4","Letter","Legal"],"default":"A4","description":"Page format"},"landscape":{"type":"boolean","default":false,"description":"Landscape orientation"},"margin":{"type":"object","description":"Page margins (CSS units, e.g. '1cm', '10mm', '0.5in')","properties":{"top":{"type":"string","default":"1cm"},"bottom":{"type":"string","default":"1cm"},"left":{"type":"string","default":"1cm"},"right":{"type":"string","default":"1cm"}}}}}]},"output_schema":{"type":"object","required":["pdf_base64","page_count","file_size_bytes","generated_at"],"properties":{"pdf_base64":{"type":"string","description":"Base64-encoded PDF bytes (decode to get raw PDF file)"},"page_count":{"type":"integer","description":"Number of pages in the generated PDF"},"file_size_bytes":{"type":"integer","description":"Size of the PDF in bytes"},"generated_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of generation"}},"example":{"pdf_base64":"JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9...","page_count":2,"file_size_bytes":14867,"generated_at":"2026-04-07T12:00:00.000Z"}},"is_active":true,"provider":"agentsvc.io","tags":["pdf","browser","document","playwright","convert"]},{"id":"svc_iplookup_05","slug":"ip-lookup","name":"IP Geolocation","description":"Resolve any IPv4 or IPv6 address to location and network data. Returns country, country_code, city, region, postal, lat/lon, timezone, ISP, org, and ASN. Use for fraud detection, geolocation enrichment, or access log analysis.","category":"utility","endpoint":"https://agentsvc.io/api/v1/proxy/ip-lookup","price_usdc":0.001,"latency_p99_ms":150,"input_schema":{"type":"object","required":["ip"],"properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address to look up (e.g. '8.8.8.8' or '2001:4860:4860::8888')"}}},"output_schema":{"type":"object","required":["ip","country","country_code","city","lat","lon","timezone","isp"],"properties":{"ip":{"type":"string","description":"The queried IP address"},"country":{"type":"string","description":"Full country name"},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 country code"},"region":{"type":"string","description":"Region/state name"},"city":{"type":"string","description":"City name"},"postal":{"type":"string","description":"Postal/ZIP code"},"lat":{"type":"number","description":"Latitude"},"lon":{"type":"number","description":"Longitude"},"timezone":{"type":"string","description":"IANA timezone (e.g. America/New_York)"},"isp":{"type":"string","description":"Internet Service Provider name"},"org":{"type":"string","description":"Organization name"},"asn":{"type":"string","description":"Autonomous System Number (e.g. AS15169)"}},"example":{"ip":"8.8.8.8","country":"United States","country_code":"US","region":"Virginia","city":"Ashburn","postal":"20149","lat":39.0438,"lon":-77.4874,"timezone":"America/New_York","isp":"Google LLC","org":"Google Public DNS","asn":"AS15169"}},"is_active":true,"provider":"agentsvc.io","tags":["ip","geolocation","network","isp","timezone"]},{"id":"svc_webreader_06","slug":"webpage-reader","name":"Webpage Reader","description":"Fetch and extract clean readable text from any URL. Full JS rendering via Playwright — works on SPAs and dynamic sites. Returns title, text (cleaned content, default max 8000 chars), description, word_count, and optional links array. Ideal for web research, content summarization, or feeding page content to an LLM.","category":"web","endpoint":"https://agentsvc.io/api/v1/proxy/webpage-reader","price_usdc":0.006,"latency_p99_ms":3200,"input_schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"The URL to read and extract content from"},"include_links":{"type":"boolean","default":false,"description":"If true, include up to 50 links found on the page"},"max_chars":{"type":"integer","default":8000,"description":"Maximum characters of text to return (truncated with …)"}}},"output_schema":{"type":"object","required":["url","title","text","word_count","fetched_at"],"properties":{"url":{"type":"string","description":"Final URL after any redirects"},"title":{"type":"string","description":"Page title (from <title> tag)"},"description":{"type":"string","description":"Meta description or Open Graph description"},"text":{"type":"string","description":"Clean readable text extracted from the page body (scripts, styles, nav, footer removed)"},"word_count":{"type":"integer","description":"Approximate number of words in the extracted text"},"links":{"type":"array","description":"Links found on the page (only when include_links=true)","items":{"type":"object","properties":{"href":{"type":"string","description":"Absolute URL of the link"},"text":{"type":"string","description":"Visible link text"}}}},"fetched_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of when the page was fetched"},"http_status":{"type":"integer","description":"HTTP status code of the page response"}},"example":{"url":"https://example.com","title":"Example Domain","description":"This domain is for use in illustrative examples in documents.","text":"Example Domain\n\nThis domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.\n\nMore information...","word_count":34,"fetched_at":"2026-04-07T12:00:00.000Z","http_status":200}},"is_active":true,"provider":"agentsvc.io","tags":["web","scraper","reader","text","playwright","extract","research"]},{"id":"svc_dnslookup_07","slug":"dns-lookup","name":"DNS Lookup","description":"Resolve DNS records for any domain. Supports A, AAAA, MX, TXT, CNAME, NS. Returns records object with array per type. Default: A records only. Use to verify mail server setup (MX), check domain ownership (TXT), or debug DNS propagation.","category":"utility","endpoint":"https://agentsvc.io/api/v1/proxy/dns-lookup","price_usdc":0.001,"latency_p99_ms":300,"input_schema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Domain name to look up (e.g. 'example.com', 'mail.google.com')"},"types":{"type":"array","items":{"type":"string","enum":["A","AAAA","MX","TXT","CNAME","NS"]},"default":["A"],"description":"DNS record types to resolve. Default: [\"A\"]. Supported: A, AAAA, MX, TXT, CNAME, NS"}}},"output_schema":{"type":"object","required":["domain","records","resolved_at"],"properties":{"domain":{"type":"string","description":"The queried domain name"},"records":{"type":"object","description":"Map of DNS record type → array of records","properties":{"A":{"type":"array","items":{"type":"string"},"description":"IPv4 addresses"},"AAAA":{"type":"array","items":{"type":"string"},"description":"IPv6 addresses"},"MX":{"type":"array","items":{"type":"object","properties":{"priority":{"type":"integer"},"exchange":{"type":"string"}}},"description":"Mail exchange records"},"TXT":{"type":"array","items":{"type":"string"},"description":"TXT records (joined entries)"},"CNAME":{"type":"array","items":{"type":"string"},"description":"Canonical name records"},"NS":{"type":"array","items":{"type":"string"},"description":"Nameserver records"}}},"resolved_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of the lookup"}},"example":{"domain":"example.com","records":{"A":["93.184.216.34"],"MX":[{"priority":10,"exchange":"mail.example.com"}]},"resolved_at":"2026-04-07T12:00:00.000Z"}},"is_active":true,"provider":"agentsvc.io","tags":["dns","network","domain","lookup","A","MX","TXT"]},{"id":"svc_qrcode_08","slug":"qr-code","name":"QR Code Generator","description":"Generate a QR code for any text or URL. Returns image_base64 (base64 PNG — decode to get raw bytes). Params: text (required), size in px (64-1024, default 256), error_correction (L/M/Q/H, default M). H = highest redundancy, survives up to 30% damage.","category":"utility","endpoint":"https://agentsvc.io/api/v1/proxy/qr-code","price_usdc":0.001,"latency_p99_ms":100,"input_schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"The text or URL to encode in the QR code"},"size":{"type":"integer","default":256,"description":"Output image size in pixels (width and height). Min: 64, Max: 1024."},"error_correction":{"type":"string","enum":["L","M","Q","H"],"default":"M","description":"Error correction level: L=7%, M=15%, Q=25%, H=30% data recovery. Higher = bigger QR code."}}},"output_schema":{"type":"object","required":["image_base64","width","height","text"],"properties":{"image_base64":{"type":"string","description":"Base64-encoded PNG image of the QR code (decode to get raw bytes)"},"width":{"type":"integer","description":"Image width in pixels"},"height":{"type":"integer","description":"Image height in pixels"},"text":{"type":"string","description":"The text that was encoded"},"generated_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of generation"}},"example":{"image_base64":"iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAA...","width":256,"height":256,"text":"https://agentsvc.io","generated_at":"2026-04-07T12:00:00.000Z"}},"is_active":true,"provider":"agentsvc.io","tags":["qr","qrcode","image","encode","png","barcode"]},{"id":"svc_websearch_09","slug":"web-search","name":"Web Search","description":"Search for factual information via DuckDuckGo + Wikipedia. Returns heading, abstract (plain-language summary), abstract_url, and results (list of relevant links). Best for: people, places, concepts, history, science. NOT for breaking news — use news-search instead.","category":"web","endpoint":"https://agentsvc.io/api/v1/proxy/web-search","price_usdc":0.003,"latency_p99_ms":600,"input_schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query string (e.g. 'current Bitcoin price', 'capital of France', 'Next.js 15 release date')"}}},"output_schema":{"type":"object","required":["query","heading","abstract","results"],"properties":{"query":{"type":"string","description":"The original search query"},"heading":{"type":"string","description":"Topic heading from the search engine"},"abstract":{"type":"string","description":"Concise abstract/summary about the topic (from Wikipedia or similar source)"},"abstract_url":{"type":"string","description":"Source URL for the abstract"},"abstract_source":{"type":"string","description":"Name of the abstract source (e.g. 'Wikipedia')"},"results":{"type":"array","description":"Related search results with URLs","items":{"type":"object","properties":{"text":{"type":"string","description":"Result description or snippet"},"url":{"type":"string","description":"Result URL"}}}},"answer":{"type":"string","description":"Direct answer for calculation or fact queries (e.g. '42' for math, '23°C' for temperatures)"}},"example":{"query":"capital of France","heading":"Paris","abstract":"Paris is the capital and most populous city of France. With an official estimated population of 2,102,650 residents as of 1 January 2023 in an area of more than 105 km²...","abstract_url":"https://en.wikipedia.org/wiki/Paris","abstract_source":"Wikipedia","results":[{"text":"Paris — Wikipedia","url":"https://en.wikipedia.org/wiki/Paris"},{"text":"Visit Paris — Official Tourism Site","url":"https://www.parisinfo.com/"}],"answer":""}},"is_active":true,"provider":"agentsvc.io","tags":["search","web","duckduckgo","research","query","information"]},{"id":"svc_translate_10","slug":"translate","name":"Text Translation","description":"Translate text between 100+ languages. Max 500 characters per call. Returns translated_text and confidence (0-1). Set target_lang to IETF code: 'de' (German), 'fr' (French), 'es' (Spanish), 'ja' (Japanese), 'zh-CN' (Chinese Simplified), 'ar' (Arabic), 'pt' (Portuguese), 'it' (Italian), 'nl' (Dutch). source_lang defaults to auto-detect.","category":"text","endpoint":"https://agentsvc.io/api/v1/proxy/translate","price_usdc":0.002,"latency_p99_ms":500,"input_schema":{"type":"object","required":["text","target_lang"],"properties":{"text":{"type":"string","description":"Text to translate (max 500 characters per call)"},"target_lang":{"type":"string","description":"Target language code (e.g. 'de' for German, 'fr' for French, 'es' for Spanish, 'ja' for Japanese, 'zh' for Chinese). Use ISO 639-1 codes."},"source_lang":{"type":"string","default":"auto","description":"Source language code. Default: 'auto' (auto-detect). Use ISO 639-1 codes."}}},"output_schema":{"type":"object","required":["original_text","translated_text","source_lang","target_lang"],"properties":{"original_text":{"type":"string","description":"The original input text"},"translated_text":{"type":"string","description":"The translated text in the target language"},"source_lang":{"type":"string","description":"Detected or specified source language code"},"target_lang":{"type":"string","description":"Target language code as specified"},"confidence":{"type":"number","description":"Translation confidence score (0.0-1.0)"},"service":{"type":"string","description":"Translation service used. Always: 'MyMemory'"}},"example":{"original_text":"Hello, how are you?","translated_text":"Hallo, wie geht es Ihnen?","source_lang":"en","target_lang":"de","confidence":1,"service":"MyMemory"}},"is_active":true,"provider":"agentsvc.io","tags":["translate","language","nlp","text","multilingual","i18n"]},{"id":"svc_emailval_11","slug":"email-validate","name":"Email Validation","description":"Validate an email address: RFC 5322 format check, domain MX record lookup, disposable provider detection, and role address detection (e.g. info@, admin@). Returns is_valid boolean and granular checks object. Use before storing or sending to email addresses to prevent bounces.","category":"utility","endpoint":"https://agentsvc.io/api/v1/proxy/email-validate","price_usdc":0.001,"latency_p99_ms":400,"input_schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email","description":"The email address to validate (e.g. 'user@example.com')"}}},"output_schema":{"type":"object","required":["email","is_valid","checks"],"properties":{"email":{"type":"string","description":"The validated email address (normalized to lowercase)"},"is_valid":{"type":"boolean","description":"true if the email passes all checks (format + deliverable domain)"},"local_part":{"type":"string","description":"The part before the @ symbol"},"domain":{"type":"string","description":"The domain part of the email address"},"checks":{"type":"object","description":"Individual check results","properties":{"format_valid":{"type":"boolean","description":"Email format passes RFC 5322 validation"},"domain_has_mx":{"type":"boolean","description":"Domain has valid MX records (can receive email)"},"is_disposable":{"type":"boolean","description":"Domain belongs to a known disposable email service (e.g. mailinator.com, tempmail.com)"},"is_role_address":{"type":"boolean","description":"Local part is a role address (e.g. admin@, info@, noreply@, support@)"}}},"mx_records":{"type":"array","items":{"type":"string"},"description":"MX record hostnames found for the domain"}},"example":{"email":"user@example.com","is_valid":true,"local_part":"user","domain":"example.com","checks":{"format_valid":true,"domain_has_mx":true,"is_disposable":false,"is_role_address":false},"mx_records":["mail.example.com"]}},"is_active":true,"provider":"agentsvc.io","tags":["email","validation","mx","deliverability","spam","verification"]},{"id":"svc_sslcheck_12","slug":"ssl-check","name":"SSL Certificate Check","description":"Inspect SSL/TLS certificate for any domain. Returns valid boolean, days_remaining, issuer, valid_from, valid_to, subject_alt_names (SANs), fingerprint_sha256, and protocol version. Default port 443. Use for certificate expiry monitoring, security audits, or HTTPS verification.","category":"utility","endpoint":"https://agentsvc.io/api/v1/proxy/ssl-check","price_usdc":0.001,"latency_p99_ms":800,"input_schema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Domain to check SSL for (e.g. 'github.com', 'api.example.com'). Do not include https://"},"port":{"type":"integer","default":443,"description":"Port to check (default: 443)"}}},"output_schema":{"type":"object","required":["domain","port","valid","days_remaining"],"properties":{"domain":{"type":"string","description":"The checked domain"},"port":{"type":"integer","description":"The port that was checked"},"valid":{"type":"boolean","description":"true if certificate is currently valid and not expired"},"subject":{"type":"string","description":"Certificate subject (CN=...)"},"subject_alt_names":{"type":"array","items":{"type":"string"},"description":"Subject Alternative Names the cert is valid for"},"issuer":{"type":"string","description":"Certificate issuer organization"},"valid_from":{"type":"string","format":"date-time","description":"Certificate valid-from date (ISO 8601)"},"valid_to":{"type":"string","format":"date-time","description":"Certificate expiry date (ISO 8601)"},"days_remaining":{"type":"integer","description":"Number of days until certificate expires (negative = already expired)"},"serial_number":{"type":"string","description":"Certificate serial number (hex)"},"fingerprint_sha256":{"type":"string","description":"SHA-256 fingerprint of the certificate"},"protocol":{"type":"string","description":"TLS protocol version in use (e.g. TLSv1.3)"}},"example":{"domain":"github.com","port":443,"valid":true,"subject":"CN=github.com","subject_alt_names":["github.com","www.github.com"],"issuer":"DigiCert Inc","valid_from":"2024-03-07T00:00:00.000Z","valid_to":"2025-03-07T23:59:59.000Z","days_remaining":156,"serial_number":"0a:bc:12:...","fingerprint_sha256":"AB:CD:EF:...","protocol":"TLSv1.3"}},"is_active":true,"provider":"agentsvc.io","tags":["ssl","tls","certificate","security","https","expiry","monitoring"]},{"id":"svc_whois_13","slug":"whois","name":"WHOIS Lookup","description":"Domain registration lookup via RDAP (modern WHOIS). Returns registrar, registrar_url, created_at, updated_at, expires_at, days_until_expiry, name_servers array, status array, and registrant_country. Clean JSON — no raw WHOIS text to parse. Covers all major TLDs.","category":"utility","endpoint":"https://agentsvc.io/api/v1/proxy/whois","price_usdc":0.002,"latency_p99_ms":700,"input_schema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Domain to look up (e.g. 'github.com', 'openai.com'). Include TLD, exclude https://"}}},"output_schema":{"type":"object","required":["domain","status","name_servers"],"properties":{"domain":{"type":"string","description":"The queried domain name"},"registrar":{"type":"string","description":"Domain registrar name"},"registrar_url":{"type":"string","description":"Registrar website URL"},"status":{"type":"array","items":{"type":"string"},"description":"Domain status codes (e.g. clientTransferProhibited)"},"created_at":{"type":"string","format":"date-time","description":"Domain registration date (ISO 8601)"},"updated_at":{"type":"string","format":"date-time","description":"Last updated date (ISO 8601)"},"expires_at":{"type":"string","format":"date-time","description":"Domain expiry date (ISO 8601)"},"days_until_expiry":{"type":"integer","description":"Days remaining until domain expires (negative = already expired)"},"name_servers":{"type":"array","items":{"type":"string"},"description":"Nameservers for the domain"},"dnssec":{"type":"string","description":"DNSSEC status (e.g. 'signedDelegation', 'unsigned')"},"registrant_country":{"type":"string","description":"Registrant country code (if publicly available)"}},"example":{"domain":"github.com","registrar":"MarkMonitor Inc.","registrar_url":"http://www.markmonitor.com","status":["clientDeleteProhibited","clientTransferProhibited","clientUpdateProhibited"],"created_at":"2007-10-09T18:20:50.000Z","updated_at":"2024-09-08T09:18:28.000Z","expires_at":"2026-10-09T18:20:50.000Z","days_until_expiry":548,"name_servers":["dns1.p08.nsone.net","dns2.p08.nsone.net","ns-1283.awsdns-32.org","ns-1707.awsdns-21.co.uk"],"dnssec":"unsigned","registrant_country":"US"}},"is_active":true,"provider":"agentsvc.io","tags":["whois","rdap","domain","registrar","dns","expiry","registration"]},{"id":"svc_crypto_14","slug":"crypto-prices","name":"Crypto Price Lookup","description":"Real-time crypto prices, market caps, and 24h % changes via CoinGecko. Pass coins as CoinGecko IDs (['bitcoin','ethereum','solana']) or tickers. Max 25 coins per call. Returns usd, usd_24h_change, usd_market_cap per coin. Add currencies param for multi-currency output (['usd','eur','gbp']).","category":"finance","endpoint":"https://agentsvc.io/api/v1/proxy/crypto-prices","price_usdc":0.002,"latency_p99_ms":500,"input_schema":{"type":"object","required":["coins"],"properties":{"coins":{"type":"array","items":{"type":"string"},"description":"List of coin IDs or ticker symbols. Accepts CoinGecko IDs (e.g. 'bitcoin', 'ethereum') or common tickers (e.g. 'BTC', 'ETH', 'SOL'). Max 25 coins per call.","examples":[["bitcoin","ethereum"],["BTC","ETH","SOL"],["bitcoin","BNB","cardano"]]},"currencies":{"type":"array","items":{"type":"string"},"default":["usd"],"description":"Target fiat currencies. Default: ['usd']. Supported: usd, eur, gbp, jpy, chf, aud, cad, btc, eth."}}},"output_schema":{"type":"object","required":["prices","fetched_at","source"],"properties":{"prices":{"type":"object","description":"Map of coin_id → price data. Each entry contains price(s) in requested currencies, 24h change, and market cap.","additionalProperties":{"type":"object","properties":{"name":{"type":"string","description":"Full coin name (e.g. 'Bitcoin')"},"symbol":{"type":"string","description":"Ticker symbol (e.g. 'BTC')"},"usd":{"type":"number","description":"Price in USD"},"usd_24h_change":{"type":"number","description":"24-hour price change in percent (e.g. 2.35 means +2.35%)"},"usd_market_cap":{"type":"number","description":"Market capitalization in USD"}}}},"fetched_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of the data"},"source":{"type":"string","description":"Always: 'CoinGecko'"},"not_found":{"type":"array","items":{"type":"string"},"description":"Coin IDs or tickers that could not be resolved"}},"example":{"prices":{"bitcoin":{"name":"Bitcoin","symbol":"BTC","usd":71923,"usd_24h_change":1.42,"usd_market_cap":1419000000000},"ethereum":{"name":"Ethereum","symbol":"ETH","usd":2188,"usd_24h_change":0.41,"usd_market_cap":263000000000}},"fetched_at":"2026-04-10T14:00:00.000Z","source":"CoinGecko","not_found":[]}},"is_active":true,"provider":"agentsvc.io","tags":["crypto","bitcoin","ethereum","prices","finance","defi","coingecko","market"]},{"id":"svc_pdfextract_15","slug":"pdf-extract","name":"PDF Text Extraction","description":"Extract all text from a PDF. Send as pdf_base64 (base64-encoded PDF, max ~10 MB decoded). Returns text (full concatenated text), pages array (per-page text + char_count), page_count, and metadata (title, author, creator). Encode with: Buffer.from(pdfBytes).toString('base64'). Ideal for RAG pipelines, document QA, or LLM ingestion.","category":"text","endpoint":"https://agentsvc.io/api/v1/proxy/pdf-extract","price_usdc":0.004,"latency_p99_ms":1500,"input_schema":{"type":"object","required":["pdf_base64"],"properties":{"pdf_base64":{"type":"string","description":"Base64-encoded PDF file content. Decode a PDF file to base64 and pass it here. Max ~10 MB (unencoded)."},"max_pages":{"type":"integer","default":50,"description":"Maximum number of pages to extract. Default: 50. Use to limit processing time for large PDFs."}}},"output_schema":{"type":"object","required":["text","page_count","extracted_at"],"properties":{"text":{"type":"string","description":"Full extracted text from all pages, joined with newlines. Preserves paragraph structure where possible."},"page_count":{"type":"integer","description":"Total number of pages in the PDF"},"pages":{"type":"array","description":"Per-page text content (first max_pages pages)","items":{"type":"object","properties":{"page":{"type":"integer","description":"Page number (1-based)"},"text":{"type":"string","description":"Extracted text for this page"},"char_count":{"type":"integer","description":"Number of characters on this page"}}}},"metadata":{"type":"object","description":"PDF document metadata (if available)","properties":{"title":{"type":"string"},"author":{"type":"string"},"subject":{"type":"string"},"creator":{"type":"string"},"producer":{"type":"string"},"creation_date":{"type":"string"}}},"file_size_bytes":{"type":"integer","description":"Size of the decoded PDF in bytes"},"extracted_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of extraction"}},"example":{"text":"Quarterly Financial Report Q1 2026\n\nExecutive Summary\nTotal revenue increased by 23% year-over-year...","page_count":12,"pages":[{"page":1,"text":"Quarterly Financial Report Q1 2026\n\nExecutive Summary","char_count":54},{"page":2,"text":"Table of Contents\n1. Revenue Overview\n2. Cost Analysis","char_count":58}],"metadata":{"title":"Q1 2026 Financial Report","author":"Finance Department","creator":"Adobe Acrobat"},"file_size_bytes":245760,"extracted_at":"2026-04-10T14:00:00.000Z"}},"is_active":true,"provider":"agentsvc.io","tags":["pdf","text","extract","parse","document","ocr","rag","llm"]},{"id":"svc_phonevalidate_16","slug":"phone-validate","name":"Phone Number Validation","description":"Parse and validate any phone number worldwide using libphonenumber. Returns is_valid, e164 (canonical international format e.g. '+4917612345678'), national_format, country_code (ISO alpha-2), and line_type (MOBILE/FIXED_LINE/VOIP/TOLL_FREE). Provide country_code hint (e.g. 'DE') for local numbers without country prefix.","category":"utility","endpoint":"https://agentsvc.io/api/v1/proxy/phone-validate","price_usdc":0.001,"latency_p99_ms":50,"input_schema":{"type":"object","required":["phone"],"properties":{"phone":{"type":"string","description":"Phone number to validate. Can be in any format: E.164 ('+4915123456789'), national ('015123456789'), or international ('0049 151 23456789'). Include country code (+ prefix) for best results."},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 country code hint for parsing national numbers without country prefix (e.g. 'DE' for Germany, 'US' for United States). Optional if number includes country code (+...)."}}},"output_schema":{"type":"object","required":["phone","is_valid","checks"],"properties":{"phone":{"type":"string","description":"The input phone number as provided"},"is_valid":{"type":"boolean","description":"true if the number is a valid, dialable phone number"},"e164":{"type":"string","description":"E.164 formatted number (e.g. '+4915123456789'). International standard format."},"national_format":{"type":"string","description":"Nationally formatted number (e.g. '0151 23456789' for Germany)"},"international_format":{"type":"string","description":"Internationally formatted number (e.g. '+49 151 23456789')"},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 country code (e.g. 'DE', 'US', 'GB')"},"country_calling_code":{"type":"string","description":"International dialing code (e.g. '49' for Germany, '1' for US)"},"line_type":{"type":"string","description":"Type of phone line: 'MOBILE', 'FIXED_LINE', 'FIXED_LINE_OR_MOBILE', 'TOLL_FREE', 'PREMIUM_RATE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL', or 'UNKNOWN'"},"checks":{"type":"object","properties":{"is_possible":{"type":"boolean","description":"Number has a valid length for the country (faster check than full validation)"},"is_valid":{"type":"boolean","description":"Full validation — number is valid for the assigned country and region"}}}},"example":{"phone":"+49 151 23456789","is_valid":true,"e164":"+4915123456789","national_format":"0151 23456789","international_format":"+49 151 23456789","country_code":"DE","country_calling_code":"49","line_type":"MOBILE","checks":{"is_possible":true,"is_valid":true}}},"is_active":true,"provider":"agentsvc.io","tags":["phone","validation","mobile","landline","e164","international","carrier"]},{"id":"svc_stocks_17","slug":"stock-prices","name":"Stock Price Lookup","description":"Real-time stock data via Yahoo Finance. Returns price, change, change_pct, previous_close, market_cap, pe_ratio, week_52_high, week_52_low, volume, and market_state. Max 10 symbols per call. Non-US exchange suffixes: 'SAP.DE' (Xetra), 'VOD.L' (London LSE), 'AIR.PA' (Paris Euronext), 'ASML.AS' (Amsterdam).","category":"finance","endpoint":"https://agentsvc.io/api/v1/proxy/stock-prices","price_usdc":0.002,"latency_p99_ms":800,"input_schema":{"type":"object","required":["symbols"],"properties":{"symbols":{"type":"array","items":{"type":"string"},"description":"List of stock ticker symbols. Max 10 per call. Examples: ['AAPL', 'MSFT', 'NVDA'] for US stocks, ['SAP.DE', 'BAYN.DE'] for German XETRA stocks, ['TSLA', 'GOOGL', 'AMZN']. Use the exchange suffix for non-US stocks (e.g. .DE, .L, .PA)."}}},"output_schema":{"type":"object","required":["stocks","fetched_at"],"properties":{"stocks":{"type":"object","description":"Map of ticker symbol → stock data","additionalProperties":{"type":"object","properties":{"symbol":{"type":"string","description":"Ticker symbol as provided"},"name":{"type":"string","description":"Full company name (e.g. 'Apple Inc.')"},"exchange":{"type":"string","description":"Exchange name (e.g. 'NMS', 'NYQ', 'GER')"},"currency":{"type":"string","description":"Trading currency (e.g. 'USD', 'EUR', 'GBP')"},"price":{"type":"number","description":"Current market price"},"change":{"type":"number","description":"Price change vs previous close"},"change_pct":{"type":"number","description":"Price change in percent (e.g. 1.23 means +1.23%)"},"previous_close":{"type":"number","description":"Previous trading day closing price"},"open":{"type":"number","description":"Today's opening price"},"day_high":{"type":"number","description":"Today's intraday high"},"day_low":{"type":"number","description":"Today's intraday low"},"volume":{"type":"integer","description":"Today's trading volume (shares)"},"market_cap":{"type":"number","description":"Market capitalization in the stock's currency"},"pe_ratio":{"type":"number","description":"Trailing P/E ratio (price-to-earnings)"},"week_52_high":{"type":"number","description":"52-week price high"},"week_52_low":{"type":"number","description":"52-week price low"},"market_state":{"type":"string","description":"Market state: 'REGULAR', 'PRE', 'POST', 'CLOSED'"}}}},"not_found":{"type":"array","items":{"type":"string"},"description":"Symbols that could not be resolved"},"fetched_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp"},"source":{"type":"string","description":"Always: 'Yahoo Finance'"}},"example":{"stocks":{"AAPL":{"symbol":"AAPL","name":"Apple Inc.","exchange":"NMS","currency":"USD","price":260.49,"change":1.59,"change_pct":0.61,"previous_close":258.9,"open":259.5,"day_high":261.2,"day_low":258.75,"volume":48200000,"market_cap":3910000000000,"pe_ratio":32.4,"week_52_high":273.59,"week_52_low":169.21,"market_state":"REGULAR"},"MSFT":{"symbol":"MSFT","name":"Microsoft Corporation","exchange":"NMS","currency":"USD","price":373.07,"change":1.43,"change_pct":0.38,"previous_close":371.64,"market_state":"REGULAR"}},"not_found":[],"fetched_at":"2026-04-10T14:00:00.000Z","source":"Yahoo Finance"}},"is_active":true,"provider":"agentsvc.io","tags":["stocks","finance","nasdaq","nyse","shares","market","trading","equities"]},{"id":"svc_geocode_18","slug":"geocode","name":"Geocoding","description":"Forward geocoding: address string → lat/lon. Reverse geocoding: lat/lon → human-readable address. Powered by OpenStreetMap Nominatim. Returns results array with display_name, lat, lon, type, and structured address object. Provide address (string) for forward, or lat + lon (numbers) for reverse.","category":"utility","endpoint":"https://agentsvc.io/api/v1/proxy/geocode","price_usdc":0.002,"latency_p99_ms":600,"input_schema":{"type":"object","description":"Provide either 'address' for forward geocoding, or both 'lat' + 'lon' for reverse geocoding.","oneOf":[{"required":["address"],"properties":{"address":{"type":"string","description":"Address string to geocode (e.g. 'Eiffel Tower, Paris', '1600 Pennsylvania Ave NW, Washington DC', 'Marienplatz 1, Munich')"},"limit":{"type":"integer","default":1,"description":"Max number of results to return (default: 1, max: 5)"}}},{"required":["lat","lon"],"properties":{"lat":{"type":"number","description":"Latitude for reverse geocoding (e.g. 48.8566)"},"lon":{"type":"number","description":"Longitude for reverse geocoding (e.g. 2.3522)"}}}]},"output_schema":{"type":"object","required":["mode","results"],"properties":{"mode":{"type":"string","enum":["forward","reverse"],"description":"'forward' if address was geocoded, 'reverse' if coordinates were looked up"},"results":{"type":"array","items":{"type":"object","properties":{"display_name":{"type":"string","description":"Full formatted address string"},"lat":{"type":"number","description":"Latitude"},"lon":{"type":"number","description":"Longitude"},"type":{"type":"string","description":"OSM place type (e.g. 'city', 'house', 'tourism', 'highway')"},"address":{"type":"object","description":"Structured address components","properties":{"house_number":{"type":"string"},"road":{"type":"string"},"neighbourhood":{"type":"string"},"suburb":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postcode":{"type":"string"},"country":{"type":"string"},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 (e.g. 'de', 'us', 'fr')"}}},"osm_type":{"type":"string","description":"OSM element type: 'node', 'way', 'relation'"},"place_id":{"type":"integer","description":"OpenStreetMap place ID"}}}},"source":{"type":"string","description":"Always: 'OpenStreetMap Nominatim'"}},"example":{"mode":"forward","results":[{"display_name":"Eiffel Tower, 5, Avenue Anatole France, Quartier du Gros-Caillou, Paris, Île-de-France, France","lat":48.8583736,"lon":2.2922926,"type":"tourism","address":{"road":"Avenue Anatole France","city":"Paris","state":"Île-de-France","postcode":"75007","country":"France","country_code":"fr"},"osm_type":"way","place_id":158515771}],"source":"OpenStreetMap Nominatim"}},"is_active":true,"provider":"agentsvc.io","tags":["geocoding","geolocation","address","coordinates","lat","lon","maps","openstreetmap"]},{"id":"svc_news_19","slug":"news-search","name":"News Search","description":"Search recent news articles by keyword. Returns articles with title, url, source, published_at, and snippet. Sources: HackerNews Algolia (tech) + BBC RSS (general/world). Optional category filter: general/tech/business/science/health/politics. Limit max 30. Use for current events, topic monitoring, or market sentiment.","category":"web","endpoint":"https://agentsvc.io/api/v1/proxy/news-search","price_usdc":0.003,"latency_p99_ms":1200,"input_schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query (e.g. 'artificial intelligence', 'climate change 2026', 'Apple earnings')"},"limit":{"type":"integer","default":10,"description":"Number of articles to return (default: 10, max: 30)"},"category":{"type":"string","enum":["general","tech","business","science","health","politics"],"default":"general","description":"News category filter. 'tech' searches HackerNews for developer/tech news. Others search BBC + general news feeds."}}},"output_schema":{"type":"object","required":["query","articles","total_found"],"properties":{"query":{"type":"string","description":"The search query"},"articles":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Article headline"},"url":{"type":"string","description":"Direct link to the article"},"source":{"type":"string","description":"News source name (e.g. 'BBC News', 'Hacker News')"},"published_at":{"type":"string","description":"Publication date/time (ISO 8601 or RFC 2822)"},"snippet":{"type":"string","description":"Short excerpt or description (if available)"},"score":{"type":"integer","description":"Community score/upvotes (HackerNews only)"}}}},"total_found":{"type":"integer","description":"Total number of matching articles found (before limit)"},"sources_queried":{"type":"array","items":{"type":"string"},"description":"News sources that were searched"}},"example":{"query":"artificial intelligence","articles":[{"title":"OpenCode – Open source AI coding agent","url":"https://github.com/opencode-ai/opencode","source":"Hacker News","published_at":"2026-04-10T08:32:00Z","snippet":"","score":1274},{"title":"AI breakthroughs in 2026: what's next","url":"https://www.bbc.co.uk/news/technology-67890123","source":"BBC News","published_at":"2026-04-10T06:15:00Z","snippet":"Scientists and engineers are pushing the boundaries..."}],"total_found":48,"sources_queried":["Hacker News","BBC News"]}},"is_active":true,"provider":"agentsvc.io","tags":["news","search","articles","headlines","rss","hackernews","bbc","media"]},{"id":"svc_ocr_20","slug":"ocr","name":"OCR — Image to Text","description":"Extract text from images using Tesseract OCR. Send image as image_base64 (PNG/JPEG/WebP/TIFF/BMP, max 10 MB decoded). Returns text and confidence (0-100, where 80+ is reliable). Set language to Tesseract code: 'eng' (default), 'deu' (German), 'fra' (French), 'chi_sim' (Chinese Simplified), 'jpn' (Japanese), 'ara' (Arabic). Use for invoices, receipts, scanned documents, or screenshots with text.","category":"text","endpoint":"https://agentsvc.io/api/v1/proxy/ocr","price_usdc":0.008,"latency_p99_ms":4000,"input_schema":{"type":"object","required":["image_base64"],"properties":{"image_base64":{"type":"string","description":"Base64-encoded image. Supported formats: PNG, JPEG, WebP, TIFF, BMP. Max 10 MB decoded. For best results use high-contrast images with clear text."},"language":{"type":"string","default":"eng","description":"Tesseract language code. Default: 'eng' (English). Other supported: 'deu' (German), 'fra' (French), 'spa' (Spanish), 'ita' (Italian), 'por' (Portuguese), 'rus' (Russian), 'chi_sim' (Chinese Simplified), 'jpn' (Japanese), 'ara' (Arabic), 'kor' (Korean), 'nld' (Dutch), 'pol' (Polish). Use '+' to combine: 'eng+deu'."},"psm":{"type":"integer","default":3,"description":"Page Segmentation Mode. 3 = fully automatic (default, best for most images). 6 = single uniform block of text. 7 = single text line. 11 = sparse text (find text anywhere). 13 = raw line (no line ordering). Use 6 or 7 for forms/labels."}}},"output_schema":{"type":"object","required":["text","confidence","language","processed_at"],"properties":{"text":{"type":"string","description":"Full extracted text from the image, with line breaks preserved"},"confidence":{"type":"number","description":"Overall OCR confidence score (0-100). Above 70 is considered reliable."},"language":{"type":"string","description":"Language code used for recognition"},"word_count":{"type":"integer","description":"Number of words extracted"},"char_count":{"type":"integer","description":"Number of characters extracted (excluding whitespace)"},"processing_ms":{"type":"integer","description":"Time taken for OCR processing in milliseconds"},"processed_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp"}},"example":{"text":"Invoice #12345\nDate: April 10, 2026\n\nBill To:\nJohn Smith\n123 Main Street\n\nTotal Due: $1,250.00","confidence":94,"language":"eng","word_count":18,"char_count":72,"processing_ms":1840,"processed_at":"2026-04-10T14:00:00.000Z"}},"is_active":true,"provider":"agentsvc.io","tags":["ocr","image","text","extract","tesseract","scan","document","invoice","receipt"]}],"meta":{"total":20,"limit":20,"offset":0}}