{"name":"mdapi.io","version":"1.0.0","description":"Convert documents, images and webpages to Markdown.","url":"https://mdapi.io","features":{"inMemoryProcessing":true,"noDataStorage":true,"elasticScalability":true,"stateless":true,"privacyFirst":true},"supportedFormats":{"documents":["PDF","DOCX","XLSX","XLS","ODT","ODS"],"images":["JPEG","JPG","PNG","WebP","SVG"],"text":["HTML","XML","JSON","CSV","TXT"],"webpages":"Any publicly accessible URL"},"limits":{"maxFileSize":"100 MB","maxUrlContentSize":"50 MB"},"x402":{"version":2,"scheme":"solana","networks":["solana"],"token":"USDC","price_per_use_usd":0.01,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payment_window_seconds":86400},"endpoints":{"root":"GET / - API docs (Markdown)","convert_get":"GET /?url=URL - Convert URL to Markdown","convert_get_text":"GET /?text=TEXT&prompt=PROMPT - Process text with prompt","convert_post":"POST / - Upload file (multipart, supports url, file, text, prompt, result)","openai_sdk":"POST /v1/chat/completions - OpenAI-compatible (URL/file in messages)","mcp_manifest":"GET /mcp - MCP server manifest","mcp_tools":"POST /mcp - MCP tool calls","acp":"POST /acp/rpc - ACP RPC endpoint (IDE agents)","health":"GET /health - Health check","llms":"GET /llms.txt - API documentation","llms_full":"GET /llms-full.txt - Full API documentation","ai_discovery":"GET /.well-known/ai-discovery.json - AI discovery","agent_discovery":"GET /.well-known/agent.json - AI agent discovery","agent_card":"GET /.well-known/agent-card.json - A2A agent card","acp_manifest":"GET /.well-known/acp.json - ACP manifest","x402_manifest":"GET /.well-known/x402.json - x402 payment manifest","openapi_json":"GET /.well-known/openapi.json - OpenAPI spec (JSON)","openapi_yaml":"GET /.well-known/openapi.yaml - OpenAPI spec (YAML)","mapi":"GET /.well-known/mapi.md - MAPI specification","skill_md":"GET /.well-known/skill.md - Skill specification (Markdown)"},"authentication":{"free":"Free tier available (no token required)","paid":"USDC on Solana via x402 v2","token_expiry_seconds":31536000,"methods":{"bearer":"Authorization: Bearer TOKEN (recommended)","query":"?token=TOKEN (legacy, for simple GET)","header":"X-Token-Required: TOKEN (x402 legacy clients)"}},"payment_flow":{"step1":"Request conversion","step2":"Receive 402 with X-Token-Required, X-Memo-Required, X-Wallet-Address, X-QR-Payment headers","step3":"Send USDC on Solana to wallet with memo","step4":"Activate token: repeat request with token+memo (any method)","step5":"After activation: use token only (memo no longer needed)"},"example":{"free":"curl 'https://mdapi.io/?url=https://example.com/file.pdf'","free_text":"curl 'https://mdapi.io/?text=Your+text+here&prompt=Summarize&result=prompt'","free_post_url":"curl -X POST -F 'url=https://example.com/file.pdf' 'https://mdapi.io/'","free_post_file":"curl -X POST -F 'file=@document.pdf' 'https://mdapi.io/'","paid_url_activation":"curl 'https://mdapi.io/?url=https://example.com/file.pdf&token=TOKEN&memo=MEMO'","paid_url_token_only":"curl 'https://mdapi.io/?url=https://example.com/file.pdf&token=TOKEN'","paid_post_activation":"curl -X POST -H 'Authorization: Bearer TOKEN' -H 'X-Memo-Required: MEMO' -F 'url=https://example.com/file.pdf' 'https://mdapi.io/'","paid_post_token":"curl -X POST -H 'Authorization: Bearer TOKEN' -F 'file=@document.pdf' 'https://mdapi.io/'","mcp_token_activation":"curl -X POST 'https://mdapi.io/mcp' -H 'Content-Type: application/json' -d '{\"method\":\"tools/call\",\"params\":{\"name\":\"convert\",\"arguments\":{\"url\":\"https://example.com/doc.pdf\",\"token\":\"TOKEN\",\"memo\":\"MEMO\"}}}'","mcp_token_only":"curl -X POST 'https://mdapi.io/mcp' -H 'Content-Type: application/json' -d '{\"method\":\"tools/call\",\"params\":{\"name\":\"convert\",\"arguments\":{\"url\":\"https://example.com/doc.pdf\",\"token\":\"TOKEN\"}}}'","openai_sdk":{"python":"from openai import OpenAI\\nclient = OpenAI(base_url='https://mdapi.io/v1', api_key='TOKEN')\\nresponse = client.chat.completions.create(model='markdown-v1', messages=[{'role': 'user', 'content': 'Convert https://example.com/doc.pdf'}])"},"javascript":{"get_url":"const response = await fetch('https://mdapi.io/?url=https://example.com/doc.pdf');\\nconst markdown = await response.text();","post_file":"const formData = new FormData();\\nformData.append('file', file);\\nconst response = await fetch('https://mdapi.io/', { method: 'POST', body: formData });\\nconst data = await response.json();"}}}