# Apixies > Free developer API suite: 51 small REST APIs behind a single API key. Apixies provides REST APIs for web inspection, validation, conversion, and generation. Every endpoint returns consistent JSON and requires only an X-API-Key header. No SDKs needed, works from any language or no-code tool. ## Quick Start Base URL: https://apixies.io/api/v1 Content-Type: application/json Auth: every request needs an X-API-Key header. A request without one gets a 401 (MISSING_AUTH). There is no keyless access to the API. Two ways to get a key, both free: - Account key: sign up at https://apixies.io/register and create a key in the dashboard. 75 requests a day. - Temporary key, no signup: issued at https://apixies.io/#temp-key behind a human check, so a person has to fetch it. 200 requests in total, 20 a day, expires after 7 days. The browser tools at https://apixies.io/tools need no key and no account, but they are pages for people, not an API. ## MCP (for AI assistants) The same tools are available over the Model Context Protocol, so an assistant can call them without writing HTTP requests. - Hosted server: https://apixies.io/mcp (streamable HTTP, OAuth sign-in with an Apixies account, no API key to handle, 47 tools). In Claude: Settings, Connectors, Add custom connector. - Local server: `npx -y @apixies/mcp-server` with the APIXIES_API_KEY environment variable (stdio, 50 tools). MCP Registry name: io.apixies/mcp-server - Setup guides: https://apixies.io/guides/connect-apixies-to-claude and https://apixies.io/guides/getting-started-mcp-server ## Response Format (all endpoints) Every response uses this envelope: ```json { "status": "success", "http_code": 200, "code": "SUCCESS", "message": "Description of result", "data": { ... } } ``` Errors return `status: "error"` with an `errors` object instead of `data`. ## Endpoints ### System - GET /api/v1/health: Check the health status of the API. No params. - GET /api/v1/ready: Check if the API is ready to accept requests by verifying database and cache connections. No params. - GET /api/v1/test: Simple endpoint for testing API connectivity and authentication. No params. ### Inspectors - GET /api/v1/inspect-ssl: Inspect SSL certificate details for a domain, including validity, expiry and chain health. Params: domain (required), port (optional, default 443). - GET /api/v1/inspect-headers: Inspect security headers for a URL to check for adherence to current best practices. Params: url (required). - GET /api/v1/inspect-email: Inspect email address details including format validation, MX record checks, and disposable email detection. Params: email (required). - GET /api/v1/inspect-user-agent: Parse a User-Agent string to detect browser, operating system, device type and bot status. Params: user_agent (required). - GET /api/v1/ip-geolocation: Convert IP addresses to location data including country, city, coordinates, timezone, and ISP information. Params: ip (required). - GET /api/v1/dns-lookup: Resolve DNS records (A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, CAA, PTR) for any domain. Params: domain (required), type (optional, default A: A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA, PTR). - GET /api/v1/dns-propagation: Ask five public DNS resolvers the same question at once and see whether they agree. Params: domain (required), type (optional, default A: A, AAAA, CNAME, MX, NS, TXT), resolvers (optional). - GET /api/v1/trace-redirects: Follow a URL's redirect chain and report each hop with status code. Params: url (required). - GET /api/v1/extract-meta: Extract OpenGraph, Twitter Card, and standard meta tags from any URL. Params: url (required). - GET /api/v1/check-link: Check if a URL is reachable and return its HTTP status code and response time. Params: url (required). - GET /api/v1/robots-txt: Fetch and parse a domain's robots.txt file into structured data. Params: domain (required). - GET /api/v1/favicon: Find and return the favicon URL(s) for any website. Params: domain (required). - GET /api/v1/validate-url: Validate a URL's format, reachability, SSL status, and response details. Params: url (required). - GET /api/v1/email-auth: Validate SPF, DMARC, and DKIM email authentication records for a domain. Params: domain (required). - POST /api/v1/decode-jwt: Decode a JWT token and extract header, payload, and claims (no signature verification). Params: token (required). - POST /api/v1/analyze-text: Analyze text for word count, character count, reading time, and word frequency. Params: text (required). - POST /api/v1/image-metadata: Extract EXIF, IPTC, and GPS metadata from uploaded images (JPEG, PNG, GIF, WebP, TIFF). Params: image (required). - GET /api/v1/performance: Measure website performance timings including DNS lookup, TCP connect, SSL handshake, TTFB, and total load time. Params: url (required). - GET /api/v1/my-ip: Return the caller's IP address with version and privacy info. No params. - GET /api/v1/http-status: Look up an HTTP status code and get its name, description, common causes, and fixes. Params: code (required). - GET /api/v1/parse-cron: Parse a cron expression into a human-readable description and calculate next run times. Params: expression (required), num_next (optional, default 5), timezone (optional, default UTC). - POST /api/v1/json-diff: Compare two JSON objects and return a structured diff. Params: original (required), modified (required), ignore_order (optional). - POST /api/v1/test-regex: Test a regular expression pattern against text. Params: pattern (required), text (required), flags (optional), global (optional, default 1). - GET /api/v1/check-cors: Check if a URL responds with proper CORS headers. Params: url (required), origin (optional, default https://example.com). - GET /api/v1/parse-sitemap: Fetch and parse a sitemap with URL metadata and stats. Pass the sitemap URL, or just the site address and the sitemap is found through robots.txt and the usual paths. Params: url (required), limit (optional, default 100), follow_index (optional). - GET /api/v1/validate-structured-data: Extract and validate structured data (JSON-LD, Microdata, RDFa) from a web page. Params: url (required). - GET /api/v1/check-mixed-content: Scan an HTTPS page for mixed content (HTTP resources). Params: url (required). ### Converters - POST /api/v1/html-to-pdf: Convert HTML content to a PDF document with proper formatting and styling. Params: html (required), layout (optional, default single_page: single_page, document). - POST /api/v1/markdown-to-html: Convert Markdown text to HTML. Params: markdown (required), allow_html (optional, default false). - POST /api/v1/json/format: Format, validate, and analyze JSON input with stats. Params: input (required), indent (optional, default 2), sort_keys (optional, default false), minify (optional, default false). - POST /api/v1/json-to-csv: Convert a JSON array of objects to CSV format. Params: data (required), delimiter (optional, default ,: ,, ;, \t, |). - POST /api/v1/base64: Encode or decode Base64 strings. Params: input (required), action (required, default encode: encode, decode). - GET /api/v1/format-phone: Parse and format a phone number into E.164, national, and international formats. Params: phone (required), country_code (optional, default US). - POST /api/v1/validate-json-schema: Validate JSON data against a JSON Schema definition. Params: data (required), schema (required). - POST /api/v1/hash: Generate a cryptographic hash (MD5, SHA1, SHA256, SHA512, etc.) from input text. Params: input (required), algorithm (optional, default sha256: md5, sha1, sha256, sha384, sha512, crc32, whirlpool). - GET /api/v1/convert-color: Convert colors between HEX, RGB, and HSL formats. Params: color (required), format (optional: hex, rgb, hsl). - GET /api/v1/convert-timestamp: Convert between Unix timestamps and human-readable date formats. Params: timestamp (required), timezone (optional, default UTC). - POST /api/v1/url-encode: URL-encode or decode a string. Params: input (required), action (required, default encode: encode, decode). - POST /api/v1/csv-to-json: Convert CSV text to a JSON array of objects. Params: csv (required), has_headers (optional, default 1), delimiter (optional, default ,: ,, ;, \t, |). - POST /api/v1/html-to-markdown: Convert HTML content to clean Markdown. Params: html (required), strip_tags (optional), gfm (optional, default 1). - POST /api/v1/yaml-to-json: Convert YAML content to JSON format. Params: yaml (required), pretty (optional, default 1). - POST /api/v1/xml-to-json: Convert XML content to a JSON object. Params: xml (required), pretty (optional, default 1), preserve_attributes (optional, default 1). - POST /api/v1/json-to-xml: Convert a JSON object to well-formed XML. Params: json (required), root_element (optional, default root), pretty (optional, default 1), xml_declaration (optional, default 1). - POST /api/v1/markdown-to-pdf: Convert Markdown content to a PDF document. Params: markdown (required), page_size (optional, default A4: A4, Letter, Legal), orientation (optional, default portrait: portrait, landscape), margin (optional, default 20mm), title (optional). - POST /api/v1/json-to-yaml: Convert a JSON object to YAML format. Params: json (required), indent (optional, default 2: 2, 4, 8), inline_level (optional, default 10). ### Generators - GET /api/v1/qr-code: Generate an SVG QR code image from any text or URL. Params: text (required), size (optional, default 200), format (optional, default svg: svg), color (optional, default #1a1a2e), bg (optional, default #ffffff), margin (optional, default 1). - GET /api/v1/uuid: Generate UUID v4 or v7 identifiers. Params: count (optional, default 1), version (optional, default v4: v4, v7). - GET /api/v1/generate-password: Generate cryptographically secure random passwords with configurable options. Params: length (optional, default 16), count (optional, default 1), uppercase (optional, default true), lowercase (optional, default true), numbers (optional, default true), symbols (optional, default true), exclude (optional). - GET /api/v1/lorem-ipsum: Generate Lorem Ipsum placeholder text (words, sentences, or paragraphs). Params: type (optional, default paragraphs: words, sentences, paragraphs), count (optional, default 3). - GET /api/v1/screenshot: Capture a screenshot of any webpage as PNG or JPEG with configurable viewport size. Params: url (required), width (optional, default 1280), height (optional, default 800), full_page (optional, default false), format (optional, default png: png, jpeg), quality (optional, default 80). ### Lookup - GET /api/v1/whois: Look up WHOIS registration data for a domain. Params: domain (required). ## Example: Validate an email ```bash curl -X GET "https://apixies.io/api/v1/inspect-email?email=test@gmail.com" \ -H "X-API-Key: YOUR_API_KEY" ``` ## Example: Analyze text for reading time ```bash curl -X POST "https://apixies.io/api/v1/analyze-text" \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"text": "Your article text goes here..."}' ``` ## Example: Take a screenshot ```bash curl -X GET "https://apixies.io/api/v1/screenshot?url=https://github.com&format=png" \ -H "X-API-Key: YOUR_API_KEY" ``` ## Links - Full documentation: https://apixies.io/docs - All endpoints with interactive examples: https://apixies.io/docs/endpoints - Browser tools (no signup needed): https://apixies.io/tools - Guides and tutorials: https://apixies.io/guides - Sign up (free): https://apixies.io/register - OpenAPI spec: https://apixies.io/api/documentation