APIMCP.site
DOCUMENTATION

ALL 135 API
ENDPOINTS

Every endpoint on /api/v1/ documented with parameters, examples, and response schemas. One base URL. One auth model. 135 tools. Also available as MCP server for AI agents.

1
Base URL
135
Endpoints
12
Categories

Getting Started

Base URL: https://apimcp.site/api/v1/

1. Get an API key

curl -X POST https://apimcp.site/api/v1/keys/create \ -H "Content-Type: application/json" \ -d '{"email":"you@example.com","tier":"starter"}'

2. Authenticate

Pass your key via the x-api-key header or Authorization: Bearer *** header. Free tier: 100 requests/day per IP.
Paid tiers: Starter 1K/day, Growth 10K/day, Scale 100K/day.

3. Call an endpoint

curl -H "x-api-key: apimcp_xxxxxxxxxxxx" \ "https://apimcp.site/api/v1/email-verify?email=ola@gmail.com"

Response format

All endpoints return JSON with this envelope:

{ "success": true, "data": { ... }, "meta": { "tool": "tool-name", "version": "1.0", "duration_ms": 42 } }

🔒 Validation & Data Quality

12 endpoints — Email, Phone, IBAN, VAT, Credit Card, Domain, Password, SSN, Org, URL, List, IP

GET /email-verify?email=...

Validate email addresses with syntax checking, MX record lookup via DNS-over-HTTPS, disposable domain detection, role account detection, and typo correction. Checks syntax, MX records, and disposable/role/temporary patterns.
ParamTypeRequiredDescription
emailstringyesEmail address to validate
Example:
curl -H "x-api-key: ***" "https://apimcp.site/api/v1/email-verify?email=ola@gmail.com" { "success": true, "data": { "email": "ola@gmail.com", "valid": true, "checks": { "has_syntax": true, "has_mx": true, "is_disposable": false, "is_role": false, "typo_suggestion": null }, "score": 0.98 } }

GET /phone?phone=...

Validate and format phone numbers worldwide. Detects country, carrier info, and provides E.164, national, and international formats.
ParamTypeRequiredDescription
phonestringyesPhone number in any format
{ "valid": true, "country": { "code": "NO", "name": "Norway" }, "formats": { "e164": "+4791234567", "national": "912 34 567", "international": "+47 912 34 567" }, "carrier": "Telenor" }

GET /iban-validator?iban=...

Validate International Bank Account Numbers using MOD-97 algorithm. Supports 20+ country-specific formats. Detects country, bank code, and branch info where available.
ParamTypeRequiredDescription
ibanstringyesIBAN to validate
{ "valid": true, "country": "DE", "checksum": "89", "bban": "370400440532013000", "bank_code": "37040044" }

GET /vat-validator?vat=...

Validate EU/EEA VAT numbers by country-specific format rules. Supports all 30 EU/EEA countries. Detects country, checksum validity, and format correctness.
ParamTypeRequiredDescription
vatstringyesVAT number including country prefix
{ "valid": true, "country": "NO", "country_name": "Norway", "normalized": "NO123456789MVA", "note": "Format validation only. Use VIES for live check." }

GET /credit-card?card=...

Validate credit/debit card numbers with Luhn algorithm and detect brand, scheme, and card type. Supports Visa, Mastercard (including 2-series), American Express, Discover, JCB, Diners Club, UnionPay, and Dankort.
ParamTypeRequiredDescription
cardstringyesCard number (digits only, 13-19 chars)
{ "valid": true, "brand": "Visa", "type": "Credit/Debit", "masked": "4111 **** **** 1111", "length": 16, "luhn_valid": true }

GET /domain-reputation?domain=...

Check domain reputation against known disposable providers (2800+ entries), suspicious pattern detection, and free email provider detection. Returns risk score and detailed reason.
ParamTypeRequiredDescription
domainstringyesDomain name to check
{ "domain": "mailinator.com", "is_disposable": true, "is_suspicious": false, "risk_score": 80, "reason": "Known disposable domain" }

GET /password-strength?password=...

Entropy-based password strength scoring (zxcvbn-inspired). Evaluates length, character variety, common pattern detection, and provides time-to-crack estimates.
ParamTypeRequiredDescription
passwordstringyesPassword to evaluate
{ "entropy": 72.4, "score": 3, "strength": "Strong", "length": 14, "has_upper": true, "has_symbol": true, "time_to_crack": "years" }

GET /ssn-validator?ssn=...&country=NO

Validate social security / personnummer for Norway (11-digit MOD-11), Sweden (12-digit Luhn), and Denmark (10-digit format). Extracts birth date and gender from the number.
ParamTypeRequiredDescription
ssnstringyesSocial security number
countrystringoptNO, SE, or DK (default: NO)
{ "valid": true, "country": "NO", "gender": "Male", "birth_date": "01.01.90", "control_digit_1": 2, "control_digit_2": 8 }

GET /org-enrichment?org=... / ?name=...

Enrich Norwegian organization numbers with full company data from Brreg (Bronnoysundregistrene). Returns name, address, industry code, employees, org type, and status. Also supports name search.
ParamTypeRequiredDescription
orgstringopt9-digit Norwegian org number
namestringoptCompany name to search
{ "found": true, "name": "APIMCP AS", "org_number": "974760673", "city": "OSLO", "industry": "Utleie av arbeidskraft", "employees": 12 }

GET /url-safety?url=...

Analyze URLs for phishing indicators, suspicious patterns, and security risks. Checks for IP-based URLs, suspicious TLDs, excessive length, and known attack patterns.
ParamTypeRequiredDescription
urlstringyesURL to check
{ "parsed": { "has_https": true, "is_ip": false }, "risk_flags": { "suspicious_pattern": false }, "risk_score": 0 }

GET /list-cleaner?list=...&type=email

Deduplicate and validate bulk email or phone lists. Returns cleaned list with counts for invalid entries, duplicates removed, and unique items.
ParamTypeRequiredDescription
liststringyesNewline-separated email/phone list
typestringoptemail or phone (default: email)
{ "total_input": 100, "total_unique": 87, "invalid_count": 2, "duplicates_removed": 11, "sample": ["user@example.com"] }

GET /ip / /ip?ip=...

IP geolocation using Cloudflare's native edge data. Self-lookup is instant (no external API). Specific IP lookup via ip-api.com returns country, city, ISP, ASN, proxy/VPN detection, and timezone.
ParamTypeRequiredDescription
ipstringoptIP to look up (omitted = self)
curl "https://apimcp.site/api/v1/ip" { "ip": "84.208.xxx.xxx", "country_code": "NO", "city": "Oslo", "isp": "Telenor Norge AS", "proxy": false }

📸 Image & Media

6 endpoints — QR Code, OG Image, Barcode, Image Optimizer, Watermark, Palette

GET /qr-code?text=...&size=200

Generate custom QR codes as SVG images. Configurable size, color, and error correction level. Returns raw SVG or JSON with data URL.
ParamTypeRequiredDescription
textstringyesData to encode
sizenumberoptImage size (default: 200)
formatstringoptsvg or json (default: svg)
curl "https://apimcp.site/api/v1/qr-code?text=hello" Content-Type: image/svg+xml

GET /og-image?title=...&site=...&format=json

Generate 1200x630 pixel OG social share images as SVG. Customizable title, site name, and accent color. Perfect for social media previews.
ParamTypeRequiredDescription
titlestringyesMain heading text
sitestringoptSite/domain name
formatstringoptsvg or json (default: svg)
{ "svg": "<svg...", "width": 1200, "height": 630 }

GET /barcode?text=...&type=code128

Generate barcodes in multiple formats: Code128, Code39, EAN-13, EAN-8, UPC-A, UPC-E, DataMatrix, PDF417, QR Code, and Aztec. Returns SVG or PNG as image or data URL.
ParamTypeRequiredDescription
textstringyesData to encode
typestringoptcode128, code39, ean13, upca, qrcode, datamatrix, pdf417 (default: code128)
scalenumberoptScale factor (default: 3)
formatstringoptsvg or json (default: svg)
{ "format": "svg", "type": "code128", "text": "TEST123", "data_url": "data:image/svg+xml;base64,..." }

GET /image-optimizer?url=...&format=webp

Optimize images via CF Images binding. Resize, convert format (WebP/AVIF/JPEG), and adjust quality. Requires IMAGES binding on the Cloudflare domain.
ParamTypeRequiredDescription
urlstringyesSource image URL
formatstringoptwebp, jpeg, avif (default: webp)
widthnumberoptTarget width in pixels
qualitynumberopt1-100 (default: 80)
{ "note": "Returns optimized image or passthrough info" }

GET /image-watermark?url=...&text=APImcp

Add text watermarks to images via SVG overlay. Customizable text, position (top-left, top-right, bottom-left, bottom-right, center), and opacity.
ParamTypeRequiredDescription
urlstringyesSource image URL
textstringoptWatermark text (default: APImcp.site)
positionstringopttop-left, top-right, bottom-left, bottom-right, center
opacitynumberopt0-100 (default: 50)
{ "watermarked_svg": "<svg...</svg>", "position": "bottom-right" }

GET /image-palette?url=...

Extract dominant color palette from images. Returns 5 dominant colors with hex values, RGB, human-friendly names, and relative weights.
ParamTypeRequiredDescription
urlstringyesSource image URL
{ "palette": [ { "hex": "#4A90D9", "name": "Steel Blue", "weight": 0.35 } ], "dominant": "#4A90D9" }

🔃 Data & Content

20 endpoints — Countries, Currency, JSON/CSV/YAML/XML, SQL, Schema, JSON to TS, CSS Inliner, Hash, JWT, UUID, Password, Case, Base, Unit, Text, Token, Lorem, Cron, Diff, Base64, URL, Regex, Color, HTML, SVG, Image

GET /countries?code=NO

Query 195 countries by code, name, or capital. Returns full country data including flag emoji, currency, calling code, region, subregion, and TLD.
ParamTypeRequiredDescription
codestringoptISO 3166-1 alpha-2 country code
searchstringoptSearch by name or capital
{ "name": "Norway", "code": "NO", "capital": "Oslo", "flag": "🇳🇴", "currency": "NOK", "calling_code": "+47" }

GET /currency?from=USD&to=NOK&amount=100

Live currency conversion via frankfurter.dev. Supports 170+ currencies. Returns converted amount, exchange rate, and last update timestamp.
{ "from": "USD", "to": "NOK", "amount": 100, "result": 1050.42, "rate": 10.5042 }

GET /json-csv?action=json2csv&input=...

Bidirectional JSON to CSV conversion. Detects headers from JSON keys, handles nested objects, and produces properly quoted CSV output.
{ "csv": "a,b\n1,2\n", "headers": ["a","b"], "rows": 1 }

GET /yaml-json?action=yaml2json&input=...

Bidirectional YAML to JSON conversion via js-yaml. Supports all standard YAML types including anchors, aliases, and complex nested structures.
{ "json": { "key": "value" } }

GET /xml-json?action=xml2json&input=...

Bidirectional XML to JSON conversion via fast-xml-parser. Preserves XML attributes with @_ prefix. Handles nested elements, CDATA, and namespaces.
{ "json": { "root": { "x": "1" } } }

GET /json-schema?input=...

Infer JSON Schema from sample JSON data. Detects types, required fields, string formats (date, uri, email), and nested object structures.
{ "schema": { "type": "object", "properties": { "name": { "type": "string" } }, "required": ["name"] } }

GET /json-to-ts?input=...

Convert JSON data to TypeScript interface definitions. Handles nested objects, arrays, optional fields, and generates proper interface names.
{ "interface": "interface RootObject {\\n name: string;\\n}" }

GET /css-inliner?html=...&css=...

Inline CSS styles into HTML for email compatibility. Takes HTML and CSS separately and produces HTML with inline style attributes on matching elements.
{ "inlined_html": "..." }

GET /hash?input=...&algorithm=sha256

Generate cryptographic hashes. Supports SHA256, SHA512, SHA1, MD5. Returns hex, base64, and raw byte length.
{ "hex": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824", "length": 32 }

GET /jwt-decoder?token=...

Decode and inspect JWT tokens without validation. Returns header (alg, typ), payload (claims), signature, and metadata (subject, expiry, issuer, issued-at).
{ "header": { "alg": "HS256", "typ": "JWT" }, "payload": {}, "meta": { "algorithm": "HS256" } }

GET /uuid?count=3

Generate cryptographically random UUID v4 strings. Configurable count up to 100 per request.
{ "uuids": ["871ee315-27b9-4577-8644-62b5bce7aec9"], "count": 1 }

GET /password-generator?length=16&count=2

Generate cryptographically secure random passwords. Configurable length and count. Passwords include uppercase, lowercase, digits, and symbols.
{ "passwords": ["z8z2xH1OYArnyz2C"], "entropy_bits": 95 }

GET /case-converter?input=hello%20world

Convert text between multiple case formats: camelCase, PascalCase, snake_case, kebab-case, SCREAMING_SNAKE_CASE, Title Case, and more.
{ "camel": "helloWorld", "pascal": "HelloWorld", "snake": "hello_world" }

GET /base-converter?value=255&from=10&to=16

Convert numbers between bases 2-36. Returns output in hex, binary, octal, and the target base.
{ "output": { "hex": "FF", "binary": "11111111", "octal": "377" } }

GET /unit-converter?value=1&from=m&to=km

Convert between length, mass, temperature, volume, area, speed, time, and data units. Extensive unit database with SI and imperial systems.
{ "result": 0.001, "unit": "km" }

GET /text-summarizer?input=...&sentences=3

Extractive text summarization using frequency-based sentence scoring. Returns ranked summary with configurable sentence count.
{ "summary": "...", "original_length": 500, "summary_length": 80 }

GET /token-counter?input=...

Count tokens, words, characters, sentences, and estimated GPT tokens. Uses byte-pair encoding estimation for LLM token counts.
{ "word_count": 5, "char_count": 25, "sentence_count": 1, "estimated_gpt_tokens": 7 }

GET /lorem-ipsum?paragraphs=2&words=20

Generate Lorem Ipsum placeholder text. Configurable paragraphs, words per paragraph, and traditional or modern variants.
{ "paragraphs": ["Lorem ipsum..."], "total_words": 40 }

GET /cron-builder?expression=*/5%20*%20*%20*%20*

Parse and explain cron expressions in plain English. Supports standard 5-field cron syntax with nicknames (@hourly, @daily).
{ "explanation": "Every 5 minutes", "next_runs": ["12:05", "12:10"] }

GET /diff-checker?first=...&second=...

Compare two text strings and return line-level diffs. Detects added, removed, and unchanged lines with change statistics.
{ "stats": { "added": 1, "removed": 1, "unchanged": 2 } }

GET /base64?input=hello&action=encode

Encode or decode Base64 text. Supports UTF-8 input, URL-safe variants, and encoding detection on decode.
{ "output": "aGVsbG8=", "action": "encode" }

GET /url-encoder?input=hello&action=encode

Encode or decode URL components with proper percent-encoding/decoding. Handles special characters and Unicode.
{ "output": "hello", "action": "encode" }

GET /color-converter?color=#a855f7

Convert between HEX, RGB, HSL, HSV, CMYK, and named colors. Params: color (required)
{ "hex": "#a855f7", "rgb": "rgb(168,85,247)", "hsl": "hsl(274,91%,65%)" }

GET /html-preview?input=<h1>Hi</h1>

Render HTML snippets in a safe iframe preview. Returns rendered HTML with metadata. Params: input (required), format (opt, html|json)

GET /svg-optimizer?input=<svg>...</svg>

Optimize SVG markup by removing whitespace, redundant attributes, and comments. Params: input (required)

GET /image-to-webp?url=...&quality=80

Convert images to WebP format. Accepts URL or file upload. Params: url (required), quality (opt, 1-100)

🌐 Developer Infrastructure

10 endpoints — DNS, WHOIS, SSL, Fake Data, SQL Formatter, JSON Formatter, Regex, Cron, UUID, Token Counter

GET /dns-lookup?name=...&type=mx

Look up DNS records via Cloudflare DNS-over-HTTPS. Supports A, AAAA, MX, TXT, NS, CNAME, SOA, SRV, CAA, TLSA record types. Returns raw records with TTL.
ParamTypeRequiredDescription
namestringyesDomain name
typestringopta, aaaa, mx, txt, ns, cname, soa (default: a)
curl "https://apimcp.site/api/v1/dns-lookup?name=google.com&type=mx" { "name": "google.com", "type": "mx", "answers": [ { "name": "google.com", "type": 15, "ttl": 300, "data": "10 smtp.google.com" } ], "count": 1 }

GET /whois?domain=...

Domain registration lookup via RDAP (Registrar Data Access Protocol). Returns registrar, creation/expiration dates, name servers, and domain status codes.
ParamTypeRequiredDescription
domainstringyesDomain name
{ "domain": "google.com", "registrar": "MarkMonitor Inc.", "created": "1997-09-15T04:00:00Z", "expires": "2028-09-13T04:00:00Z", "name_servers": ["ns1.google.com"] }

GET /ssl-info?host=...

SSL/TLS certificate diagnostics for a domain. Provides links to external check tools: SSLLabs (deep scan), crt.sh (cert transparency), and Security Headers.
ParamTypeRequiredDescription
hoststringyesHostname to check
{ "hostname": "google.com", "external_check_urls": { "ssllabs": "https://www.ssllabs.com/ssltest/analyze.html?d=google.com" } }

GET /fake-data?locale=en&count=5&fields=name,email

Generate realistic fake data via @faker-js/faker. Supports 7 locales (en, nb_NO, sv, de, fr, es). 20+ field types: name, email, phone, company, address, job, IBAN, credit card, UUID, and more.
ParamTypeRequiredDescription
localestringopten, nb_NO, sv, de, fr, es (default: en)
countnumberopt1-100 records (default: 1)
fieldsstringoptComma-separated field names
{ "count": 3, "results": [{ "name": "Ola Nordmann", "email": "ola@example.com" }] }

🇩🇪 Georgia APIs

Currency, RS.GE Tax, Banks — 3 dedicated API hosts

GET /health

Public — Health check endpoint available on all hosts. Returns 200 OK with status.

Hosts

api.currency.ge.apimcp.site
Live exchange rates, 170+ currencies
api.rs.ge.apimcp.site
Georgian tax data, VAT, invoices, filings
api.banks.ge.apimcp.site
167 products from 17 Georgian banks

⚡ MCP Servers

3 MCP hosts — JSON-RPC over POST /mcp

Supported JSON-RPC methods on POST /mcp:

initialize tools/list tools/call ping
mcp.currency.ge
Currency rates + conversion
mcp.rs.ge
Georgian tax & RS.GE data
mcp.banks.ge
Georgian bank products

Enterprise Access

These APIs are available for enterprise use. Dedicated hosts, SLA-backed, with priority support.

Contact: Ola@apimcp.site