{"x402Version":2,"name":"CallMeter","description":"First paid job: receipt → JSON ≈ $0.10 via parse.receipt (MCP tools/call or POST /v1/docintel/extract/receipt). Default rail: x402 USDC on Base. Prepaid fiat closed on CallMeter. Fail-closed.","homepage":"https://api.callmeter.dev/","mcp":"https://api.callmeter.dev/mcp","signup":"https://api.callmeter.dev/signup","demo":"https://api.callmeter.dev/demo/receipt-to-json","pricing":{"credit_peg":{"credits":1,"usd":0.01,"usdc_atomic":10000},"default_rail":"x402","fiat_mix":"closed","prepaid_fiat_available":false,"first_job_usd":0.1,"first_job_skill":"parse.receipt"},"resources":[{"type":"mcp","toolName":"parse.receipt","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Turn a till slip, POS printout, receipt PDF, or mobile-money confirmation into merchant/total/line-item JSON (receipt → JSON)","skill":"docintel.parse_receipt","bazaar_id":"parse_receipt","keywords":["parse-receipt","till-slip","pos-receipt","mobile-money-receipt","mpesa","mtn-momo","naira-receipt","africa-receipt","vat-receipt","expense-json","receipt-to-json","receipt to json","parse receipt","parse-receipt-pdf","receipt-pdf-extract","receipt OCR","till-slip-json","expense-receipt-json","pos-receipt-parser","mobile-money-to-json"],"price":{"usd":0.1,"credits":10,"usdc_atomic":"100000"},"http":{"method":"POST","path":"/v1/docintel/extract/receipt","url":"https://api.callmeter.dev/v1/docintel/extract/receipt"}},{"type":"mcp","toolName":"parse.invoice","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Extract tax invoice fields — seller, VAT, line items, totals — into validated JSON","skill":"docintel.parse_invoice","bazaar_id":"parse_invoice","keywords":["parse-invoice","tax-invoice","vat-invoice","accounts-payable","tin-extract","kra-pin","africa-invoice","line-items-json","ap-automation"],"price":{"usd":0.15,"credits":15,"usdc_atomic":"150000"},"http":{"method":"POST","path":"/v1/docintel/extract/invoice","url":"https://api.callmeter.dev/v1/docintel/extract/invoice"}},{"type":"mcp","toolName":"detect.schema_breaking_changes","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Detect breaking OpenAPI or JSON Schema changes between two versions (producer-compat, no LLM).","skill":"agentutils.diff","bazaar_id":"detect_schema_breaking_changes","keywords":["openapi-breaking-change","json-schema-diff","detect-breaking-changes","schema-compat","api-contract-diff","producer-compat","schemagate"],"price":{"usd":0.05,"credits":5,"usdc_atomic":"50000"},"http":{"method":"POST","path":"/v1/agentutils/diff","url":"https://api.callmeter.dev/v1/agentutils/diff"}},{"type":"mcp","toolName":"transform.json_schema","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Draft or validate a JSON Schema from a sample/instance","skill":"agentutils.schema","bazaar_id":"transform_json_schema","keywords":["sample-to-json-schema","validate-json-schema","draft-schema-from-example","schema-transform","type-check-json"],"price":{"usd":0.02,"credits":2,"usdc_atomic":"20000"},"http":{"method":"POST","path":"/v1/agentutils/schema","url":"https://api.callmeter.dev/v1/agentutils/schema"}},{"type":"mcp","toolName":"extract.structured_data","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Convert unstructured text (or HTML already in hand) into structured JSON for the next agent step","skill":"agentutils.extract","bazaar_id":"extract_structured_data","keywords":["text-to-json","html-to-json","convert-unstructured-text-to-json","extract-entities-from-text","key-value-extract"],"price":{"usd":0.05,"credits":5,"usdc_atomic":"50000"},"http":{"method":"POST","path":"/v1/agentutils/extract","url":"https://api.callmeter.dev/v1/agentutils/extract"}},{"type":"mcp","toolName":"capture.screenshot","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Capture a webpage screenshot from a public URL (PNG/JPEG) for vision or evidence packs","skill":"agentutils.screenshot","bazaar_id":"capture_webpage_screenshot","keywords":["webpage-screenshot","screenshot-webpage","url-to-png","capture-webpage-screenshot","headless-screenshot","page-capture"],"price":{"usd":0.1,"credits":10,"usdc_atomic":"100000"},"http":{"method":"POST","path":"/v1/agentutils/screenshot","url":"https://api.callmeter.dev/v1/agentutils/screenshot"}},{"type":"mcp","toolName":"extract.pdf","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Extract text and tables from a PDF into JSON (general documents, not receipts/invoices)","skill":"agentutils.pdf_extract","bazaar_id":"extract_pdf","keywords":["pdf-extract","extract-table-from-pdf","pdf-to-json","pdf-text-extract","document-pdf-extract","base64-pdf"],"price":{"usd":0.1,"credits":10,"usdc_atomic":"100000"},"http":{"method":"POST","path":"/v1/agentutils/pdf/extract","url":"https://api.callmeter.dev/v1/agentutils/pdf/extract"}},{"type":"mcp","toolName":"relay.webhook","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Receive a third-party webhook, verify it, dedupe it, and forward it to my destinations — charge only when a forward succeeds","skill":"webinfra.webhook_ingress","bazaar_id":"relay_webhook","keywords":["webhook","webhook-relay","ingress","forward","retry","dedupe","hmac","callback","http-hook","delivery","agent-infra"],"price":{"usd":0.0001,"credits":0.01,"usdc_atomic":"100"},"http":{"method":"POST","path":"/v1/webinfra/endpoints/{id}/ingress","url":"https://api.callmeter.dev/v1/webinfra/endpoints/{id}/ingress"}},{"type":"mcp","toolName":"replay.webhook","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Replay a stored webhook delivery to its destinations again after my consumer was down — charge only if the forward succeeds","skill":"webinfra.webhook_replay","bazaar_id":"replay_webhook","keywords":["webhook","replay","redeliver","retry","dead-letter","reprocess","delivery","agent-infra"],"price":{"usd":0.0001,"credits":0.01,"usdc_atomic":"100"},"http":{"method":"POST","path":"/v1/webinfra/deliveries/{id}/replay","url":"https://api.callmeter.dev/v1/webinfra/deliveries/{id}/replay"}},{"type":"mcp","toolName":"relay.webhook","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Receive a third-party webhook, verify it, dedupe it, and forward it to my destinations — charge only when a forward succeeds","skill":"webinfra.relay_webhook","bazaar_id":"relay_webhook","keywords":["webhook","webhook-relay","ingress","forward","retry","dedupe","hmac","callback","http-hook","delivery","agent-infra"],"price":{"usd":0.0001,"credits":0.01,"usdc_atomic":"100"},"http":{"method":"POST","path":"/v1/webinfra/endpoints/{id}/ingress","url":"https://api.callmeter.dev/v1/webinfra/endpoints/{id}/ingress"}},{"type":"mcp","toolName":"replay.webhook","transport":"streamable-http","resource":"https://api.callmeter.dev/mcp","description":"Replay a stored webhook delivery to its destinations again after my consumer was down — charge only if the forward succeeds","skill":"webinfra.replay_webhook","bazaar_id":"replay_webhook","keywords":["webhook","replay","redeliver","retry","dead-letter","reprocess","delivery","agent-infra"],"price":{"usd":0.0001,"credits":0.01,"usdc_atomic":"100"},"http":{"method":"POST","path":"/v1/webinfra/deliveries/{id}/replay","url":"https://api.callmeter.dev/v1/webinfra/deliveries/{id}/replay"}}]}