[{"name":"email_check","method":"GET","path":"/v1/email/check","price_usdc":"$0.001","description":"Email validation for signup forms, lead lists and CRM cleanup: checks syntax, MX mail servers, disposable or temporary domains, role addresses (info@, sales@) and free providers. Returns a deliverable_guess. No SMTP probe, no data stored.","input_schema":{"type":"object","properties":{"email":{"type":"string","description":"Email address to validate"}},"required":["email"]}},{"name":"email_check_full","method":"GET","path":"/v1/email/full","price_usdc":"$0.004","description":"One call email risk check: everything in email_check plus sender domain health (domain age, registrar, SPF, DMARC, website reachable) and a 0-100 risk score with accept/review/reject verdict. Use for fraud screening, lead qualification and signup gating.","input_schema":{"type":"object","properties":{"email":{"type":"string","description":"Email address"}},"required":["email"]}},{"name":"pdf_to_text","method":"GET","path":"/v1/pdf/text","price_usdc":"$0.006","description":"PDF to text or markdown for RAG, summarizing, search indexing and reading reports, papers, contracts and invoices. Give a PDF URL (max 20 MB); returns text per page. format=text or markdown. Not stored.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public PDF URL"},"format":{"type":"string","enum":["text","markdown"]}},"required":["url"]}},{"name":"pdf_to_text_upload","method":"POST","path":"/v1/pdf/text/upload","price_usdc":"$0.006","description":"PDF to text from uploaded bytes. POST the raw PDF as the body (content-type application/pdf); multipart 'file' or JSON {\"base64\"} also work. Real PDF only (starts with %PDF), max 20 MB, with a text layer. Optional ?format=text|markdown. Bad files get HTTP 400 with a hint and are not charged. Sample: https://agents.crowdspark.me/samples/sample.pdf Not password-protected. For scans use image_ocr_upload. Returns {pages, format, characters, text}. Errors return {error, code, hint, charged:false}.","input_schema":{"type":"object","properties":{},"required":[]}},{"name":"document_extract","method":"GET","path":"/v1/document/extract","price_usdc":"$0.012","description":"One call document parsing for invoices, receipts, statements, forms and scanned pages: PDF or image URL in, full text plus extracted fields out (dates, money amounts, totals/tax/amount due, invoice or order numbers, key: value pairs, emails, phones, URLs, simple tables). Images and scans use OCR.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public PDF or image URL"}},"required":["url"]}},{"name":"document_extract_upload","method":"POST","path":"/v1/document/extract/upload","price_usdc":"$0.012","description":"Document parsing from uploaded bytes. POST a raw PDF (max 20 MB, text layer) or PNG/JPEG/WebP image (max 10 MB, OCR) as the body with its content-type; multipart 'file' or JSON {\"base64\"} also work. Returns text plus dates, amounts, totals, IDs and tables. Bad files get HTTP 400 with a hint and are not charged. Samples: https://agents.crowdspark.me/samples/sample.pdf Image sample: https://agents.crowdspark.me/samples/sample.png. Errors return {error, code, hint, charged:false}.","input_schema":{"type":"object","properties":{},"required":[]}},{"name":"domain_lookup","method":"GET","path":"/v1/domain/lookup","price_usdc":"$0.003","description":"Domain intelligence for due diligence, phishing checks and lead research: registrar, creation and expiry dates (RDAP/WHOIS), A/AAAA/MX/NS/TXT records, SPF, DMARC and HTTPS reachability in one call.","input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain name, e.g. example.com"}},"required":["domain"]}},{"name":"image_ocr","method":"GET","path":"/v1/ocr","price_usdc":"$0.005","description":"OCR: read all text from a screenshot, photo, receipt, sign, scanned page or chart image at a URL (PNG/JPEG, max 10 MB). Keeps line breaks.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public image URL"}},"required":["url"]}},{"name":"image_ocr_upload","method":"POST","path":"/v1/ocr/upload","price_usdc":"$0.005","description":"OCR from uploaded bytes. POST the raw image as the body with its content-type (image/png, image/jpeg or image/webp); multipart 'file' or JSON {\"base64\"} also work. Real PNG, JPEG or WebP only, max 10 MB. Returns {text}. Bad files get HTTP 400 with a hint and are not charged. Sample: https://agents.crowdspark.me/samples/sample.png Errors return {error, code, hint, charged:false}.","input_schema":{"type":"object","properties":{},"required":[]}},{"name":"file_convert","method":"POST","path":"/v1/convert","price_usdc":"$0.003","description":"Format conversion for data pipelines and publishing: CSV to JSON, JSON to CSV, HTML to markdown, markdown to HTML, HTML to plain text. JSON body {from, to, input}.","input_schema":{"type":"object","properties":{"from":{"type":"string","enum":["csv","json","html","markdown"]},"to":{"type":"string","enum":["csv","json","html","markdown","text"]},"input":{"type":"string","description":"Content to convert"}},"required":["from","to","input"]}},{"name":"web_to_markdown","method":"GET","path":"/v1/web/markdown","price_usdc":"$0.0015","description":"Read a web page as clean LLM-ready markdown (main content, no nav or scripts) for research, RAG and summarization. Respects robots.txt.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public page URL"}},"required":["url"]}},{"name":"web_read_full","method":"GET","path":"/v1/web/read","price_usdc":"$0.004","description":"One call page reader: clean markdown plus page metadata (title, description, Open Graph, canonical, favicon), outbound links, word count and extracted dates, prices, emails and phones. Use for research agents, price checks and lead enrichment from public pages.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public page URL"}},"required":["url"]}},{"name":"url_metadata","method":"GET","path":"/v1/web/meta","price_usdc":"$0.001","description":"Link preview and unfurl data: title, description, Open Graph image, site name, canonical URL, favicon and final URL after redirects.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Page URL"}},"required":["url"]}},{"name":"timezone_convert","method":"GET","path":"/v1/time/convert","price_usdc":"$0.001","description":"Timezone conversion for scheduling meetings and deadlines across IANA zones, with DST-correct UTC offsets. time=ISO local time or 'now'.","input_schema":{"type":"object","properties":{"time":{"type":"string","description":"ISO local time or 'now'"},"from":{"type":"string","description":"IANA zone, e.g. America/New_York"},"to":{"type":"string","description":"IANA zone, e.g. Asia/Tokyo"}},"required":["from","to"]}},{"name":"business_days","method":"GET","path":"/v1/time/business-days","price_usdc":"$0.001","description":"Business day calculator for SLAs, invoice due dates, shipping and legal deadlines: counts working days between two dates, skipping weekends and national public holidays (ISO country code).","input_schema":{"type":"object","properties":{"start":{"type":"string","description":"YYYY-MM-DD"},"end":{"type":"string","description":"YYYY-MM-DD"},"country":{"type":"string","description":"ISO 3166 alpha-2, optional"}},"required":["start","end"]}},{"name":"public_holidays","method":"GET","path":"/v1/time/holidays","price_usdc":"$0.001","description":"Public holiday calendar for 100+ countries by year, for scheduling, payroll and delivery planning.","input_schema":{"type":"object","properties":{"country":{"type":"string","description":"ISO 3166 alpha-2"},"year":{"type":"string","description":"Year, e.g. 2027"}},"required":["country","year"]}},{"name":"fx_rates","method":"GET","path":"/v1/fx/rates","price_usdc":"$0.001","description":"Currency exchange rates (European Central Bank reference rates) for price conversion, invoicing and travel budgets. Latest or historical by date.","input_schema":{"type":"object","properties":{"base":{"type":"string","description":"Base currency, e.g. USD"},"symbols":{"type":"string","description":"Comma list, optional"},"date":{"type":"string","description":"YYYY-MM-DD, optional"}},"required":[]}},{"name":"ip_lookup","method":"GET","path":"/v1/ip/lookup","price_usdc":"$0.003","description":"IP address lookup for security triage, log analysis and fraud checks: owning network, allocation range, registry country (RDAP) and reverse DNS.","input_schema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address"}},"required":["ip"]}},{"name":"token_info","method":"GET","path":"/v1/chain/token","price_usdc":"$0.002","description":"Token contract inspector for Base, Ethereum, Optimism, Arbitrum and Polygon: is it a contract, ERC20/ERC721/ERC1155 detection, name, symbol, decimals, total supply (raw and formatted), owner, and upgradeable-proxy check (EIP-1967, beacon, EIP-1167 clone, legacy zeppelinos) with implementation and admin addresses. Read live from public RPC. Use before quoting, swapping, listing or paying with a token.","input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Token contract address (0x...)"},"chain":{"type":"string","enum":["base","ethereum","optimism","arbitrum","polygon"],"description":"Chain, default base"}},"required":["address"]}},{"name":"gas_estimate","method":"GET","path":"/v1/chain/gas","price_usdc":"$0.002","description":"Gas estimate and fee quote for Base, Ethereum, Optimism, Arbitrum and Polygon: eth_estimateGas for your transaction (to, from, value, data) or a plain transfer if no 'to', current base fee, slow/standard/fast priority tips from recent blocks, max fee suggestions, L1 data fee on OP-stack chains and total cost in native coin and USD (Chainlink price). Reports reverts instead of failing. Use before signing or to budget agent transactions.","input_schema":{"type":"object","properties":{"chain":{"type":"string","enum":["base","ethereum","optimism","arbitrum","polygon"],"description":"Chain, default base"},"to":{"type":"string","description":"Optional. Target address; omit for a plain native transfer quote"},"from":{"type":"string","description":"Optional. Sender address"},"value":{"type":"string","description":"Optional. Value in wei"},"data":{"type":"string","description":"Optional. 0x calldata"}},"required":[]}},{"name":"x402_endpoint_check","method":"GET","path":"/v1/x402/check","price_usdc":"$0.005","description":"x402 readiness check for any paid API URL: probes it without paying and reports whether it returns a valid 402, where the requirements are (header or body, v1 or v2), network, asset, price in USD, payTo (with EIP-55 checksum check), EIP-712 token domain, timeout, resource URL and Bazaar discovery. Returns ready or needs_fixes with a 0-100 score and a list of specific issues. Use before listing an endpoint or paying it. Never pays.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public http(s) URL of the paid endpoint to probe"},"method":{"type":"string","enum":["GET","POST"],"description":"Optional. Default tries GET, then POST if GET returns 404 or 405"}},"required":["url"]}},{"name":"x402_seller_audit","method":"GET","path":"/v1/x402/audit","price_usdc":"$0.01","description":"Will my paid API get listed? Audits any x402 endpoint URL: runs the readiness check, flags the 500 character description limit, then checks the Coinbase Bazaar listing, OpenAPI x-payment-info, 402 Index entry, favicon, llms.txt and /.well-known/x402. Returns a 0-100 score, verdict and an ordered fix list. Never sends a payment. Score = 60% payment readiness + 40% discoverability. x402scan has no public lookup API, so it is reported as not checked.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public http(s) URL of your paid x402 endpoint"},"method":{"type":"string","enum":["GET","POST"],"description":"Optional"}},"required":["url"]}},{"name":"email_check_batch","method":"POST","path":"/v1/email/check/batch","price_usdc":"$0.006","description":"Batch email validation for list cleaning: up to 10 addresses per call, 40% cheaper than 10 single calls. JSON body {emails:[...]}. Each item gets syntax, MX, disposable, role and free-provider checks and a deliverable_guess. Bad items return per-item errors, not a failed call.","input_schema":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"string"},"maxItems":10,"description":"1 to 10 email addresses"}},"required":["emails"]}},{"name":"ip_lookup_batch","method":"POST","path":"/v1/ip/lookup/batch","price_usdc":"$0.012","description":"Batch IP lookup for log analysis and fraud review: up to 10 IPv4 or IPv6 addresses per call, 40% cheaper than singles. JSON body {ips:[...]}. Each item returns the owning network, range, country (RDAP) and reverse DNS. Bad items return per-item errors.","input_schema":{"type":"object","properties":{"ips":{"type":"array","items":{"type":"string"},"maxItems":10,"description":"1 to 10 IP addresses"}},"required":["ips"]}},{"name":"domain_lookup_batch","method":"POST","path":"/v1/domain/lookup/batch","price_usdc":"$0.012","description":"Batch domain intelligence for due diligence and lead lists: up to 10 domains per call, 60% cheaper than singles. JSON body {domains:[...]}. Each item returns registrar, dates, DNS, SPF, DMARC and HTTPS reachability. Bad items return per-item errors.","input_schema":{"type":"object","properties":{"domains":{"type":"array","items":{"type":"string"},"maxItems":10,"description":"1 to 10 domain names"}},"required":["domains"]}},{"name":"url_dossier","method":"GET","path":"/v1/bundle/url-dossier","price_usdc":"$0.007","description":"One call dossier on a web page and its host: clean markdown, page metadata, outbound links and extracted fields, plus domain intelligence (registrar, age, DNS, SPF, DMARC) and IP network lookup for the host, with a short trust summary. Replaces three calls.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public page URL"}},"required":["url"]}},{"name":"invoice_intake","method":"GET","path":"/v1/bundle/invoice-intake","price_usdc":"$0.012","description":"Invoice intake for AP agents: PDF or image URL in, one decision-ready JSON out. Extracts text, number, total, dates and vendor contact, then runs an email risk check and domain lookup on the vendor and returns accept, review or reject with reasons. Heuristic triage, not bank verification.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public PDF or image URL of the invoice"}},"required":["url"]}},{"name":"invoice_intake_upload","method":"POST","path":"/v1/bundle/invoice-intake/upload","price_usdc":"$0.012","description":"Invoice intake from uploaded bytes. POST a raw PDF (max 20 MB, text layer) or PNG/JPEG/WebP (max 10 MB) with its content-type; multipart 'file' or JSON {\"base64\"} also work. Returns extracted fields, vendor email and domain checks and an accept, review or reject verdict. Bad files get HTTP 400 and are not charged. Samples: https://agents.crowdspark.me/samples/sample.pdf and /samples/sample.png. Errors return {error, code, hint, charged:false}.","input_schema":{"type":"object","properties":{},"required":[]}},{"name":"token_preflight","method":"GET","path":"/v1/bundle/token-preflight","price_usdc":"$0.004","description":"Token preflight for agents about to swap, list or pay with a token on Base, Ethereum, Optimism, Arbitrum or Polygon: contract and standard check, name, symbol, supply, proxy and owner flags, a 0-100 structural risk score with reasons, plus a simulated ERC20 transfer gas cost in USD. Not a honeypot audit.","input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Token contract address"},"chain":{"type":"string","enum":["base","ethereum","optimism","arbitrum","polygon"],"description":"Default base"},"from":{"type":"string","description":"Optional holder address for a realistic transfer simulation"}},"required":["address"]}},{"name":"ens_resolve","method":"GET","path":"/v1/chain/ens","price_usdc":"$0.002","description":"ENS lookup: name to address (with avatar) or address to primary name, with forward verification. Read live from Ethereum mainnet. Use name=vitalik.eth or address=0x... Use before sending funds to a human readable name.","input_schema":{"type":"object","properties":{"name":{"type":"string","description":"ENS name, e.g. vitalik.eth"},"address":{"type":"string","description":"Or an address for reverse lookup"}},"required":[]}},{"name":"wallet_balance","method":"GET","path":"/v1/chain/balance","price_usdc":"$0.002","description":"Wallet balance on Base, Ethereum, Optimism, Arbitrum or Polygon: native coin balance with USD value (Chainlink) plus up to 10 ERC20 token balances with symbol and decimals. Pass tokens=0xA,0xB. Read live from public RPC. Use before funding, swapping or paying from a wallet.","input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Wallet address"},"chain":{"type":"string","enum":["base","ethereum","optimism","arbitrum","polygon"],"description":"Default base"},"tokens":{"type":"string","description":"Optional comma list of up to 10 ERC20 addresses"}},"required":["address"]}},{"name":"tx_decode","method":"GET","path":"/v1/chain/tx","price_usdc":"$0.003","description":"Transaction decoder for Base, Ethereum, Optimism, Arbitrum and Polygon: status, from, to, value, gas used, fee in native coin and USD, method name and arguments for common ERC20 calls, ERC20 transfers with symbols and amounts, and approvals. Use to confirm a payment landed or explain what a transaction did.","input_schema":{"type":"object","properties":{"hash":{"type":"string","description":"Transaction hash (0x + 64 hex)"},"chain":{"type":"string","enum":["base","ethereum","optimism","arbitrum","polygon"],"description":"Default base"}},"required":["hash"]}},{"name":"business_day_add","method":"GET","path":"/v1/time/add-business-days","price_usdc":"$0.001","description":"Due-date calculator: add or subtract N business days from a date, skipping weekends and nationwide public holidays for a country (ISO code). Returns the result date and weekday, which holidays were skipped and whether the start day is a working day. For SLAs, invoice terms, shipping and legal deadlines.","input_schema":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD (not counted)"},"days":{"type":"string","description":"Whole number of business days, negative to go back (max 1000)"},"country":{"type":"string","description":"Optional ISO 3166 alpha-2, e.g. US"}},"required":["start","days"]}},{"name":"fx_convert","method":"GET","path":"/v1/fx/convert","price_usdc":"$0.002","description":"Currency converter for invoices, quotes and budgets: convert an amount from one currency into up to 10 others using European Central Bank rates (latest or a past date). Returns rounded amounts, rate, inverse rate and the 7 day change in percent for each target.","input_schema":{"type":"object","properties":{"amount":{"type":"string","description":"Amount to convert, e.g. 1250.50"},"from":{"type":"string","description":"Source currency code, e.g. USD"},"to":{"type":"string","description":"Comma list of up to 10 target currency codes"},"date":{"type":"string","description":"Optional YYYY-MM-DD for a historical rate"}},"required":["amount","from","to"]}},{"name":"url_check","method":"GET","path":"/v1/web/check","price_usdc":"$0.002","description":"Link health check: follows redirects hop by hop (max 8) with status and timing, flags loops and https downgrades, then reports final status, content type and size, server, caching and a security-header grade (HSTS, CSP, nosniff, frame, referrer, permissions). Public hosts only.","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public http(s) URL to check"}},"required":["url"]}},{"name":"package_advisories","method":"GET","path":"/v1/dev/package-advisories","price_usdc":"$0.005","description":"Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Check a package before installing it: known vulnerabilities for one npm, PyPI, cargo, Go or Maven package version (OSV.dev), fixed-in version, latest version and release date, licence, deprecated flag, and a safe, caution or avoid verdict with reasons. Version defaults to latest. Known-advisory lookup, not a security guarantee. Sources: OSV.dev (CC-BY 4.0) and deps.dev. Unknown packages return HTTP 400 and are not charged. Maven names are group:artifact.","input_schema":{"type":"object","properties":{"ecosystem":{"type":"string","enum":["npm","pypi","cargo","go","maven"],"description":"Package ecosystem"},"name":{"type":"string","description":"Package name, e.g. lodash or requests (maven: group:artifact)"},"version":{"type":"string","description":"Optional. Defaults to the latest version"}},"required":["ecosystem","name"]},"free_per_day":25,"free_header":"X-Free-Call: 1"},{"name":"prompt_injection_check","method":"POST","path":"/v1/text/injection-check","price_usdc":"$0.005","description":"Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Rule-based prompt-injection screen for untrusted text such as scraped web pages, emails and tool output. JSON body {text} (max 50,000 chars). Detects instruction-override phrasing, role-spoofing tags, data-leak links and hidden Unicode in 6 languages. Returns verdict safe, suspicious or malicious, a 0-100 score and matched spans. Text is not stored. A screen, not a guarantee: 'safe' means no known pattern matched. Rules only, no model call. Empty or oversize text returns HTTP 400 and is not charged.","input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to screen, max 50,000 characters"}},"required":["text"]},"free_per_day":25,"free_header":"X-Free-Call: 1"},{"name":"pii_redact","method":"POST","path":"/v1/text/pii-redact","price_usdc":"$0.003","description":"Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Scrub text before it goes to a model or a log: JSON body {text, mask} (max 100,000 chars). Finds emails, phones, SSNs, cards (Luhn), IBANs, IPs, MAC addresses, API keys, JWTs, private keys, wallet addresses. mask is label, hash or star. Returns redacted text and counts. Not stored. Pattern based: does not find names or street addresses. Findings list offsets and types, never the values. Bad input returns HTTP 400 and is not charged.","input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to redact, max 100,000 characters"},"mask":{"type":"string","enum":["label","hash","star"],"description":"label (default) [EMAIL], hash [EMAIL:ab12cd34], or star"}},"required":["text"]},"free_per_day":25,"free_header":"X-Free-Call: 1"},{"name":"federal_register_search","method":"GET","path":"/v1/gov/federal-register","price_usdc":"$0.005","description":"Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Search the US Federal Register: final rules, proposed rules, notices and presidential documents with title, agencies, publication date, effective date, comment deadline, docket IDs, abstract and links. Filter by keyword, type, agency slug and date range. Public domain data, no legal advice. limit 1-20 (default 10). sort relevance|newest|oldest. comments_open=true keeps documents still taking comments. Bad filters return HTTP 400 and are not charged.","input_schema":{"type":"object","properties":{"q":{"type":"string","description":"Optional keyword or phrase"},"type":{"type":"string","enum":["rule","proposed_rule","notice","presidential_document"],"description":"Optional document type"},"agency":{"type":"string","description":"Optional agency slug, e.g. environmental-protection-agency"},"from":{"type":"string","description":"Optional publication date from, YYYY-MM-DD"},"to":{"type":"string","description":"Optional publication date to, YYYY-MM-DD"},"limit":{"type":"string","description":"1 to 20, default 10"},"sort":{"type":"string","enum":["relevance","newest","oldest"]},"comments_open":{"type":"string","description":"true to keep only documents still open for comment"}},"required":[]},"free_per_day":25,"free_header":"X-Free-Call: 1"},{"name":"sec_filings","method":"GET","path":"/v1/finance/sec-filings","price_usdc":"$0.005","description":"Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Recent SEC EDGAR filings for a US-listed company by ticker or CIK: form type, filing and report dates, 8-K item codes with plain labels, accession number and direct document links. Filter by form (8-K, 10-K, 10-Q, 4, 13F-HR, comma list), since date and limit. Raw public data, not investment advice. limit 1-40 (default 10). Amendments (/A) match their base form. Covers the most recent ~1,000 filings. Unknown tickers return HTTP 400 and are not charged; use cik for funds or delisted issuers. Source: SEC EDGAR data.sec.gov.","input_schema":{"type":"object","properties":{"ticker":{"type":"string","description":"Stock ticker, e.g. AAPL or BRK-B. Give ticker or cik"},"cik":{"type":"string","description":"Optional SEC CIK number, e.g. 320193"},"form":{"type":"string","description":"Optional form type or comma list, e.g. 8-K,10-Q"},"since":{"type":"string","description":"Optional earliest filing date, YYYY-MM-DD"},"limit":{"type":"string","description":"1 to 40, default 10"}},"required":[]},"free_per_day":25,"free_header":"X-Free-Call: 1"},{"name":"papers_search","method":"GET","path":"/v1/research/papers","price_usdc":"$0.006","description":"Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Scholarly paper search for research agents: keywords or a DOI in, matching papers out with title, authors, year, venue, DOI, citation count, open access PDF or page link, retraction flag and abstract. Filter by year range and open access, sort by relevance, citations or newest. Source OpenAlex, Crossref fallback. limit 1-25 (default 10). Bad input returns HTTP 400 and is not charged. Abstracts come from OpenAlex where the publisher allows; some papers have none.","input_schema":{"type":"object","properties":{"q":{"type":"string","description":"Search words, or a DOI such as 10.1038/nature14539"},"from_year":{"type":"string","description":"Optional earliest year, e.g. 2020"},"to_year":{"type":"string","description":"Optional latest year"},"limit":{"type":"string","description":"1 to 25, default 10"},"sort":{"type":"string","enum":["relevance","citations","newest"]},"open_access":{"type":"string","description":"true to keep only open access papers"}},"required":["q"]},"free_per_day":25,"free_header":"X-Free-Call: 1"},{"name":"dependency_audit","method":"POST","path":"/v1/bundle/dependency-audit","price_usdc":"$0.05","description":"Audit a whole project before an agent installs or runs it: JSON body {manifest, type, readme}. manifest is package.json (npm) or requirements.txt (PyPI) text. Checks up to 25 dependencies against OSV.dev advisories, deprecation and latest versions, and screens the optional README for prompt injection. Returns one safe, caution or avoid verdict plus a ranked fix list (upgrade to version X). Range specs are checked at their lowest allowed version, unpinned specs at latest. Over 25 dependencies: the first 25 are checked and the rest counted. Known-advisory lookup, not a security guarantee. Bad input, or no dependency checkable, returns HTTP 400/502 and is not charged.","input_schema":{"type":"object","properties":{"manifest":{"type":"string","description":"package.json or requirements.txt contents as a string, max 200,000 chars"},"type":{"type":"string","enum":["package.json","requirements.txt"],"description":"Optional. Auto-detected if omitted"},"readme":{"type":"string","description":"Optional README or docs text to screen for prompt injection, max 50,000 chars"}},"required":["manifest"]}},{"name":"text_similarity","method":"POST","path":"/v1/text/similarity","price_usdc":"$0.003","description":"Semantic similarity of two texts for RAG, dedupe and matching: JSON body {a, b}, each up to 8,000 chars, any language. Returns a cosine score from bge-m3 embeddings plus a rough band (near_duplicate, high, related, weak, unrelated). Texts are not stored. Model @cf/baai/bge-m3 on Workers AI (bge-base-en-v1.5 as fallback). Also accepts {texts:[a,b]}. Empty or oversize input returns HTTP 400/413 and is not charged.","input_schema":{"type":"object","properties":{"a":{"type":"string","description":"First text, max 8,000 characters"},"b":{"type":"string","description":"Second text, max 8,000 characters"}},"required":["a","b"]}},{"name":"text_rerank","method":"POST","path":"/v1/text/rerank","price_usdc":"$0.005","description":"Rerank search results or RAG chunks by relevance to a query: JSON body {query, documents, top_k}. Up to 50 documents (strings or {id, text}), each up to 2,000 chars. Returns the documents sorted by a 0-1 relevance score from the bge-reranker-base cross-encoder. Texts are not stored. query max 1,000 chars, documents total max 100,000 chars. return_documents=false drops text from the results. Bad or oversize input returns HTTP 400/413 and is not charged.","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query, max 1,000 characters"},"documents":{"type":"array","maxItems":50,"items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"}},"required":["text"]}]},"description":"1 to 50 strings or {id, text} objects, each max 2,000 characters"},"top_k":{"type":"integer","minimum":1,"maximum":50,"description":"Optional number of results, default all"},"return_documents":{"type":"boolean","description":"Optional, default true"}},"required":["query","documents"]}}]