API Reference
64 production tools. One API key. Every endpoint documented with examples, parameters, and pricing.
Authentication
Every request requires authentication. Two methods are supported:
Option 1: API Key (recommended)
Pass your key in the x-api-key header. Get one free at archtools.dev/signup.
curl -X POST https://archtools.dev/v1/tools/generate-hash \
-H "x-api-key: arch_your_key_here" \
-H "Content-Type: application/json" \
-d '{"text":"hello","algorithm":"sha256"}'
Option 2: x402 Crypto Payments
Pay per call with USDC on Base — no account needed. Send the X-PAYMENT header with a signed x402 payment proof.
Pricing endpoint: GET /api/v1/x402/pricing · Full x402 Guide →
# Check pricing for a specific tool
curl https://archtools.dev/api/v1/x402/pricing/web-scrape
# Response: { "tool": "web-scrape", "price_usdc": "0.005", ... }
Quickstart
Register, get your key, and make your first call in under 60 seconds:
# 1. Register (key delivered instantly, no email verification)
curl -X POST https://archtools.dev/v1/agent/register \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","plan":"free"}'
# 2. Call any tool
curl -X POST https://archtools.dev/v1/tools/ai-generate \
-H "x-api-key: arch_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"What is Arch Tools in one sentence?"}'
Credits & Rate Limits
Every new account gets 250 free credits on signup. Tools cost 1–30 credits per call depending on complexity.
| Tier | Price | Rate Limit | Daily Limit |
|---|---|---|---|
| Free | $0 | 30 req/min | 500 req/day |
| Developer | $19/mo | 60 req/min | 5,000 req/day |
| Pro | $49/mo | 120 req/min | 20,000 req/day |
| Business | $149/mo | 300 req/min | 100,000 req/day |
| Enterprise | Contact Us | Custom | Custom |
One-time credit packs: $9 / 5K · $49 / 30K · $199 / 200K. Check usage: GET /v1/agent/usage
Error Codes
| Code | Meaning | Action |
|---|---|---|
| 400 | Bad Request | Check the message field for missing params |
| 401 | Unauthorized | Invalid or missing API key |
| 402 | Payment Required | Insufficient credits or x402 payment needed |
| 429 | Rate Limited | Back off and retry with exponential backoff |
| 500 | Server Error | Retry with backoff; report if persistent |
| 502 | Upstream Error | Third-party service unavailable; retry later |
MCP Setup — All Clients
Arch Tools is auto-exposed as MCP functions. One config block works across every MCP-compatible client.
Claude Desktop / Cursor / Windsurf
{
"mcpServers": {
"arch-tools": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://arch-tools-mcp.onrender.com/sse"],
"env": { "ARCH_API_KEY": "arch_your_key_here" }
}
}
}
| Client | Config Location |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Win) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
ChatGPT Custom GPT
- Go to chat.openai.com/gpts/editor → Create
- Click Actions → Import from URL
- Paste: https://archtools.dev/openapi.json
- Set auth: API Key → header name x-api-key
- Save — your GPT now has all Arch Tools natively
Quick Start by Language
curl -X POST https://archtools.dev/v1/tools/web-scrape \
-H "x-api-key: arch_your_key_here" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'
const res = await fetch('https://archtools.dev/v1/tools/web-scrape', {
method: 'POST',
headers: {
'x-api-key': 'arch_your_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({ url: 'https://example.com' })
});
const data = await res.json();
console.log(data);
import requests
res = requests.post(
"https://archtools.dev/v1/tools/web-scrape",
headers={"x-api-key": "arch_your_key_here"},
json={"url": "https://example.com"}
)
print(res.json())
Invoke-RestMethod -Uri "https://archtools.dev/v1/tools/web-scrape" `
-Method POST `
-Headers @{ "x-api-key" = "arch_your_key_here"; "Content-Type" = "application/json" } `
-Body '{"url":"https://example.com"}'
Web & Search
| Parameter | Type | Description |
|---|---|---|
| url | string | required — URL to scrape |
| format | string | optional — markdown | html | text. Default: markdown |
| selector | string | optional — CSS selector to extract specific element |
curl -X POST https://archtools.dev/v1/tools/web-scrape \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://example.com","format":"markdown"}'
{
"ok": true,
"content": "# Example Domain\n\nThis domain is for use in illustrative examples...",
"url": "https://example.com",
"format": "markdown",
"content_length": 1256
}
| Parameter | Type | Description |
|---|---|---|
| url | string | required — URL to extract |
| include_links | boolean | optional — Include extracted links. Default: true |
curl -X POST https://archtools.dev/v1/tools/extract-page \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'
{
"ok": true,
"title": "Example Domain",
"text": "This domain is for use in illustrative examples in documents...",
"links": ["https://www.iana.org/domains/example"],
"word_count": 58
}
| Parameter | Type | Description |
|---|---|---|
| query | string | required — Search query |
| limit | integer | optional — Max results (max 20). Default: 10 |
curl -X POST https://archtools.dev/v1/tools/search-web \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"query":"best AI tools 2026","limit":5}'
{
"ok": true,
"results": [
{ "title": "Top AI Tools 2026", "url": "https://...", "snippet": "..." }
],
"total": 5
}
| Parameter | Type | Description |
|---|---|---|
| query | string | required — Search query |
| limit | integer | optional — Number of source results. Default: 5 |
curl -X POST https://archtools.dev/v1/tools/web-search \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"query":"What is x402 protocol?"}'
{
"ok": true,
"answer": "x402 is an open protocol for HTTP-native micropayments...",
"sources": [
{ "title": "x402.org", "url": "https://x402.org", "snippet": "..." }
]
}
| Parameter | Type | Description |
|---|---|---|
| query | string | required — Natural language search query |
| num_results | integer | optional — Results to return. Default: 10 |
| include_text | boolean | optional — Include full page text. Default: true |
curl -X POST https://archtools.dev/v1/tools/semantic-search \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"query":"tutorials about building AI agents with tool use","num_results":5}'
| Parameter | Type | Description |
|---|---|---|
| query | string | required — News search query |
| limit | integer | optional — Max articles. Default: 10 |
| language | string | optional — ISO-639-1 code. Default: en |
curl -X POST https://archtools.dev/v1/tools/news-search \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"query":"artificial intelligence","limit":5}'
| Parameter | Type | Description |
|---|---|---|
| url | string | required — RSS or Atom feed URL |
| limit | integer | optional — Max items. Default: 20 |
curl -X POST https://archtools.dev/v1/tools/rss-parse \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://hnrss.org/frontpage","limit":5}'
| Parameter | Type | Description |
|---|---|---|
| url | string | optional — URL to extract metadata from |
| text | string | optional — Raw HTML to analyze |
curl -X POST https://archtools.dev/v1/tools/extract-metadata \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://archtools.dev"}'
| Parameter | Type | Description |
|---|---|---|
| url | string | required — URL to screenshot |
| width | integer | optional — Viewport width. Default: 1280 |
| height | integer | optional — Viewport height. Default: 800 |
| full_page | boolean | optional — Capture full page. Default: false |
| format | string | optional — png | jpeg. Default: png |
curl -X POST https://archtools.dev/v1/tools/screenshot-capture \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://archtools.dev","full_page":true}'
| Parameter | Type | Description |
|---|---|---|
| url | string | required — Starting URL |
| steps | array | required — Array of action objects: {action, selector, value} |
Step actions: click | type | extract | screenshot | wait | navigate
curl -X POST https://archtools.dev/v1/tools/browser-task \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://example.com","steps":[{"action":"extract","selector":"h1"}]}'
AI & Analysis
| Parameter | Type | Description |
|---|---|---|
| prompt | string | required — The prompt or question |
| model | string | optional — claude | gpt4 | grok | gemini. Default: claude |
| system | string | optional — System prompt / persona |
| max_tokens | integer | optional — Default: 1024 |
curl -X POST https://archtools.dev/v1/tools/ai-generate \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"prompt":"Explain quantum computing in 3 sentences","model":"claude"}'
{
"ok": true,
"text": "Quantum computing harnesses quantum mechanical phenomena like superposition and entanglement...",
"model": "claude-sonnet-4-6",
"tokens_used": 87
}
| Parameter | Type | Description |
|---|---|---|
| question | string | required — Question or topic to analyze |
| context | string | optional — Additional context |
| depth | string | optional — quick | standard | deep. Default: standard |
curl -X POST https://archtools.dev/v1/tools/ai-oracle \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"question":"Should I use serverless or containers for a high-traffic API?","depth":"deep"}'
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text to summarize |
| style | string | optional — bullets | tldr | executive | paragraph | headline. Default: bullets |
| max_length | integer | optional — Max summary length in words |
curl -X POST https://archtools.dev/v1/tools/summarize \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"Long article text here...","style":"tldr"}'
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text to analyze |
curl -X POST https://archtools.dev/v1/tools/sentiment-analysis \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"This product is absolutely amazing! Best purchase ever."}'
{
"ok": true,
"sentiment": "positive",
"score": 0.95,
"emotions": { "joy": 0.89, "surprise": 0.12, "anger": 0.01 }
}
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text to extract entities from |
curl -X POST https://archtools.dev/v1/tools/extract-entities \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"Tim Cook announced Apple will invest $500M in Austin, Texas by March 2026."}'
| Parameter | Type | Description |
|---|---|---|
| description | string | required — Plain English description of the pattern |
| test_strings | array | optional — Strings to test against |
curl -X POST https://archtools.dev/v1/tools/regex-generate \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"description":"match US phone numbers like (555) 123-4567","test_strings":["(555) 123-4567","hello"]}'
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text to scan for PII |
| redact | boolean | optional — Return redacted version. Default: false |
curl -X POST https://archtools.dev/v1/tools/pii-detect \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"Contact [email protected] or call 555-0123","redact":true}'
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text to analyze |
curl -X POST https://archtools.dev/v1/tools/readability-score \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"The quick brown fox jumps over the lazy dog."}'
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text to detect language of |
curl -X POST https://archtools.dev/v1/tools/language-detect \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"Bonjour le monde"}'
| Parameter | Type | Description |
|---|---|---|
| topic | string | required — Research topic or question |
| depth | string | optional — brief | standard | comprehensive. Default: standard |
| format | string | optional — markdown | json. Default: markdown |
curl -X POST https://archtools.dev/v1/tools/research-report \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"topic":"State of AI agents in 2026","depth":"comprehensive"}'
| Parameter | Type | Description |
|---|---|---|
| claim | string | required — The claim to verify |
| context | string | optional — Additional context |
curl -X POST https://archtools.dev/v1/tools/fact-check \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"claim":"The Great Wall of China is visible from space"}'
| Parameter | Type | Description |
|---|---|---|
| goal | string | required — High-level goal |
| tools | array | optional — Restrict to specific tool names |
| max_steps | integer | optional — Max tool calls. Default: 5 |
curl -X POST https://archtools.dev/v1/tools/workflow-agent \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"goal":"Get Bitcoin price and write a 2-sentence market summary","max_steps":3}'
Sessions
| Parameter | Type | Description |
|---|---|---|
| system | string | optional — System prompt for the session |
| model | string | optional — claude | gpt4 | grok | gemini. Default: claude |
| ttl | integer | optional — Session TTL in seconds. Default: 3600 |
curl -X POST https://archtools.dev/v1/tools/session-create \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"system":"You are a helpful coding assistant","model":"claude"}'
{
"ok": true,
"session_id": "sess_abc123def456",
"model": "claude",
"ttl": 3600,
"expires_at": "2026-03-17T08:00:00Z"
}
| Parameter | Type | Description |
|---|---|---|
| session_id | string | required — Session ID from session-create |
| message | string | required — User message |
curl -X POST https://archtools.dev/v1/tools/session-message \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"session_id":"sess_abc123def456","message":"How do I sort an array in Python?"}'
Image & Video
| Parameter | Type | Description |
|---|---|---|
| prompt | string | required — Image description |
| size | string | optional — 1024x1024 | 1792x1024 | 1024x1792. Default: 1024x1024 |
| style | string | optional — vivid | natural. Default: vivid |
curl -X POST https://archtools.dev/v1/tools/image-generate \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"prompt":"A cyberpunk cityscape at night, neon lights, rain","size":"1792x1024"}'
| Parameter | Type | Description |
|---|---|---|
| prompt | string | required — Image description |
| size | string | optional — 1024x1024 | 1792x1024 | 1024x1792. Default: 1024x1024 |
| quality | string | optional — standard | hd. Default: standard |
| style | string | optional — vivid | natural. Default: vivid |
curl -X POST https://archtools.dev/v1/tools/design-create \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"prompt":"Minimalist logo for a tech startup","quality":"hd","style":"natural"}'
| Parameter | Type | Description |
|---|---|---|
| image_url | string | optional — Public URL of the image |
| image_base64 | string | optional — Base64-encoded image |
| size | string | optional — preview | full | auto. Default: auto |
curl -X POST https://archtools.dev/v1/tools/image-remove-bg \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"image_url":"https://example.com/photo.jpg","size":"full"}'
| Parameter | Type | Description |
|---|---|---|
| prompt | string | required — Text description of the video |
| duration | integer | optional — 4 or 10 seconds. Default: 4 |
curl -X POST https://archtools.dev/v1/tools/video-generate \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"prompt":"A drone shot flying over a tropical island at sunset","duration":10}'
Audio
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text to convert (max 5,000 chars) |
| voice_id | string | optional — ElevenLabs voice ID. Default: EXAVITQu4vr4xnSDxMaL (Sarah) |
| model_id | string | optional — Default: eleven_turbo_v2_5 |
| stability | number | optional — Voice stability 0–1. Default: 0.42 |
| similarity_boost | number | optional — Clarity 0–1. Default: 0.82 |
curl -X POST https://archtools.dev/v1/tools/text-to-speech \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"Hello from Arch Tools!","voice_id":"EXAVITQu4vr4xnSDxMaL"}'
| Parameter | Type | Description |
|---|---|---|
| audio_url | string | required — Public URL (MP3, WAV, M4A, OGG, WEBM) |
| language | string | optional — ISO-639-1 hint. Auto-detected if omitted. |
| prompt | string | optional — Context hint for accuracy |
curl -X POST https://archtools.dev/v1/tools/transcribe-audio \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"audio_url":"https://example.com/audio.mp3","language":"en"}'
Crypto
| Parameter | Type | Description |
|---|---|---|
| symbol | string | required — CoinGecko ID (e.g. bitcoin, ethereum, solana) |
curl -X POST https://archtools.dev/v1/tools/crypto-price \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"symbol":"bitcoin"}'
{
"ok": true,
"symbol": "bitcoin",
"price_usd": 84521.30,
"change_24h": 2.45,
"market_cap": 1672000000000,
"volume_24h": 28400000000
}
| Parameter | Type | Description |
|---|---|---|
| limit | integer | optional — Number of coins. Default: 10 |
| currency | string | optional — Fiat currency. Default: usd |
curl -X POST https://archtools.dev/v1/tools/crypto-market-cap \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"limit":5}'
| Parameter | Type | Description |
|---|---|---|
| symbol | string | required — CoinGecko ID |
| days | integer | optional — 1, 7, 14, 30, 90, 180, 365. Default: 7 |
curl -X POST https://archtools.dev/v1/tools/crypto-ohlcv \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"symbol":"ethereum","days":30}'
| Parameter | Type | Description |
|---|---|---|
| limit | integer | optional — Historical entries (1 = current). Default: 1 |
curl -X POST https://archtools.dev/v1/tools/crypto-fear-greed \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"limit":7}'
| Parameter | Type | Description |
|---|---|---|
| symbol | string | required — CoinGecko ID |
curl -X POST https://archtools.dev/v1/tools/crypto-sentiment \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"symbol":"bitcoin"}'
| Parameter | Type | Description |
|---|---|---|
| symbol | string | optional — Filter by symbol (e.g. BTC, ETH). Omit for general. |
| limit | integer | optional — Max articles (max 20). Default: 10 |
curl -X POST https://archtools.dev/v1/tools/crypto-news \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"symbol":"ETH","limit":5}'
| Parameter | Type | Description |
|---|---|---|
| query | string | required — Token name or ticker (e.g. "bitcoin", "BTC", "solana") |
curl -X POST https://archtools.dev/v1/tools/token-lookup \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"query":"SOL"}'
Utility
| Parameter | Type | Description |
|---|---|---|
| data | object | required — JSON data to validate |
| schema | object | required — JSON Schema to validate against |
curl -X POST https://archtools.dev/v1/tools/validate-data \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"data":{"name":"Brad","age":43},"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"age":{"type":"number"}}}}'
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text to hash |
| algorithm | string | optional — sha256 | sha512 | md5 | sha1. Default: sha256 |
curl -X POST https://archtools.dev/v1/tools/generate-hash \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"hello world","algorithm":"sha256"}'
{
"ok": true,
"hash": "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9",
"algorithm": "sha256"
}
| Parameter | Type | Description |
|---|---|---|
| type | string | optional — uuid | token | api-key. Default: uuid |
| count | integer | optional — Number to generate. Default: 1 |
| length | integer | optional — Length for token/api-key. Default: 32 |
curl -X POST https://archtools.dev/v1/tools/generate-uuid \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"type":"api-key","count":3}'
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text or URL to encode |
| size | integer | optional — Image size in pixels. Default: 200 |
| format | string | optional — png | svg. Default: png |
curl -X POST https://archtools.dev/v1/tools/qr-code \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"https://archtools.dev","size":300}'
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text or number to encode |
| format | string | optional — CODE128 | EAN13 | UPC | CODE39 | ITF14. Default: CODE128 |
| width | integer | optional — Bar width. Default: 2 |
| height | integer | optional — Bar height px. Default: 100 |
curl -X POST https://archtools.dev/v1/tools/barcode-generate \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"123456789","format":"CODE128"}'
| Parameter | Type | Description |
|---|---|---|
| input | string | required — Content to convert |
| from | string | required — Source format: json | yaml | csv | xml | toml |
| to | string | required — Target format |
curl -X POST https://archtools.dev/v1/tools/convert-format \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"input":"{\"name\":\"Brad\",\"age\":43}","from":"json","to":"yaml"}'
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Text to transform |
| mode | string | required — slug | camel | snake | pascal | kebab | upper | lower | title | base64_encode | base64_decode |
curl -X POST https://archtools.dev/v1/tools/transform-text \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"hello world example","mode":"camel"}'
| Parameter | Type | Description |
|---|---|---|
| text1 | string | required — Original text |
| text2 | string | required — Modified text |
| mode | string | optional — unified | words | chars | json. Default: unified |
curl -X POST https://archtools.dev/v1/tools/diff-text \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text1":"The quick brown fox","text2":"The slow brown dog","mode":"words"}'
| Parameter | Type | Description |
|---|---|---|
| html | string | optional — Raw HTML to convert |
| url | string | optional — Fetch and convert from URL |
curl -X POST https://archtools.dev/v1/tools/html-to-markdown \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"html":"Hello
World
"}'
| Parameter | Type | Description |
|---|---|---|
| data | object | required — JSON to query |
| path | string | required — JSONPath expression (e.g. $.store.book[*].title) |
curl -X POST https://archtools.dev/v1/tools/jsonpath-query \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"data":{"users":[{"name":"Alice"},{"name":"Bob"}]},"path":"$.users[*].name"}'
| Parameter | Type | Description |
|---|---|---|
| url | string | required — Long URL to shorten |
curl -X POST https://archtools.dev/v1/tools/url-shorten \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://archtools.dev/docs#authentication"}'
| Parameter | Type | Description |
|---|---|---|
| webhook_url | string | required — Webhook endpoint URL |
| payload | object | required — JSON body to send |
| headers | object | optional — Custom headers |
| method | string | optional — GET | POST | PUT | PATCH | DELETE. Default: POST |
curl -X POST https://archtools.dev/v1/tools/webhook-send \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"webhook_url":"https://hooks.slack.com/services/xxx","payload":{"text":"Hello from Arch Tools!"}}'
| Parameter | Type | Description |
|---|---|---|
| amount | number | required — Amount to convert |
| from | string | required — Source currency (e.g. USD) |
| to | string | required — Target currency (e.g. EUR) |
curl -X POST https://archtools.dev/v1/tools/currency-convert \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"amount":100,"from":"USD","to":"EUR"}'
| Parameter | Type | Description |
|---|---|---|
| datetime | string | required — ISO 8601 datetime |
| from_tz | string | required — Source IANA timezone (e.g. America/New_York) |
| to_tz | string | required — Target IANA timezone (e.g. Europe/London) |
curl -X POST https://archtools.dev/v1/tools/timezone-convert \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"datetime":"2026-03-17T09:00:00","from_tz":"America/New_York","to_tz":"Asia/Tokyo"}'
Identity & Communications
| Parameter | Type | Description |
|---|---|---|
| string | required — Email address to verify |
curl -X POST https://archtools.dev/v1/tools/email-verify \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"email":"[email protected]"}'
| Parameter | Type | Description |
|---|---|---|
| to | string | required — Recipient email |
| subject | string | required — Subject line |
| body | string | required* — Plain text body (or use html) |
| html | string | optional — HTML body (alternative to body) |
| from | string | optional — Sender. Default: [email protected] |
⚠️ You are responsible for CAN-SPAM / GDPR compliance.
curl -X POST https://archtools.dev/v1/tools/email-send \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"to":"[email protected]","subject":"Hello","body":"Message body"}'
| Parameter | Type | Description |
|---|---|---|
| domain | string | required — Company domain (e.g. google.com) |
| first_name | string | optional — Person's first name |
| last_name | string | optional — Person's last name |
curl -X POST https://archtools.dev/v1/tools/email-find \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"domain":"stripe.com","first_name":"Patrick","last_name":"Collison"}'
| Parameter | Type | Description |
|---|---|---|
| phone | string | required — Phone number to validate |
| country | string | optional — ISO 3166-1 alpha-2 code (e.g. US, GB) |
curl -X POST https://archtools.dev/v1/tools/phone-validate \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"phone":"+15551234567"}'
| Parameter | Type | Description |
|---|---|---|
| ip | string | optional — IP address (uses caller's IP if omitted) |
curl -X POST https://archtools.dev/v1/tools/ip-lookup \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"ip":"8.8.8.8"}'
{
"ok": true,
"ip": "8.8.8.8",
"country": "US",
"city": "Mountain View",
"isp": "Google LLC",
"is_vpn": false
}
| Parameter | Type | Description |
|---|---|---|
| domain | string | required — Domain name (e.g. example.com) |
curl -X POST https://archtools.dev/v1/tools/whois-lookup \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"domain":"archtools.dev"}'
| Parameter | Type | Description |
|---|---|---|
| domain | string | required — Domain to check (e.g. example.com) |
curl -X POST https://archtools.dev/v1/tools/domain-check \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"domain":"my-cool-startup.com"}'
Social
| Parameter | Type | Description |
|---|---|---|
| text | string | required — Tweet text (max 280 characters) |
| reply_to | string | optional — Tweet ID to reply to |
Files & Extraction
| Parameter | Type | Description |
|---|---|---|
| image_url | string | optional — Public URL of the image |
| image_base64 | string | optional — Base64-encoded image |
curl -X POST https://archtools.dev/v1/tools/ocr-extract \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"image_url":"https://example.com/receipt.png"}'
| Parameter | Type | Description |
|---|---|---|
| pdf_url | string | optional — Public URL of the PDF |
| pdf_base64 | string | optional — Base64-encoded PDF |
curl -X POST https://archtools.dev/v1/tools/extract-pdf \
-H "x-api-key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"pdf_url":"https://example.com/document.pdf"}'
Full Pricing Table (x402)
All prices in USDC on Base network. Live pricing: GET /api/v1/x402/pricing
🔍 No tools match your search. Try a different query.