Changelog
New endpoints, fixes and small improvements, newest first.
latest
- fix analyze-text counts characters, not bytes (an accented letter or an emoji is one), treats a non-breaking space as a word break, and top_words no longer keeps punctuation: Cat, cat. and CAT are one word
- improvement dns-lookup and dns-propagation accept underscore names, so DMARC (_dmarc.example.com), DKIM and SRV records can be looked up. dns-lookup also sorts MX records by priority and adds data.exists, which is false when the domain is not registered in DNS at all
- feature html-to-pdf: new layout parameter. layout=document renders your HTML as it is, with your fonts, margins and @page size, over as many pages as it needs. The default (single_page) is unchanged. Images as data URIs in img src now render in both layouts
- fix Every validation error now uses the code VALIDATION_FAILED. Thirteen endpoints answered VALIDATION_ERROR for input that failed a second check, such as JSON, YAML, XML or a cron expression that fails to parse. Status 422 and the errors object are unchanged
- improvement dns-lookup takes an IP address (IPv4 or IPv6) as domain and does the reverse PTR lookup for you. The response adds data.ip
- feature Hosted MCP server at https://apixies.io/mcp: add it as a connector in Claude, sign in with your Apixies account, and use 47 tools with no install and no API key
- improvement performance: the page is now fetched with compression, like a browser. content_length is the compressed size on the wire, and the new decoded_length and content_encoding fields show the unpacked size and the method
- improvement html-to-pdf and markdown-to-pdf answer about 3 seconds faster. The output is the same: CSS animations and transitions still render in their final state
- improvement MCP server 1.4.2: one-click Claude Desktop extension (apixies.mcpb), every tool marked read-only so Claude can run it without asking each time, and a clear MISSING_API_KEY message when no key is set
- improvement The MCP server is now listed in the official MCP Registry as io.apixies/mcp-server (version 1.4.1 on npm)
- fix Endpoints that take a URL or domain now answer 422 HOST_NOT_RESOLVED when the host name does not resolve. They used to say 400 RESTRICTED_TARGET, which is now only for private and reserved addresses
- improvement Performance: new server_wait_ms field, the part of TTFB spent waiting on the server with connection setup taken out
- fix Performance: dns_lookup_ms was always close to 0. It now reports the real DNS lookup, and ttfb_ms and total_time_ms include it, so the numbers match curl
- improvement Sitemap Parser reads sitemaps up to 16 MB (was 5 MB), lists child sitemaps it could not read in stats.child_sitemaps_failed, and answers HOST_NOT_RESOLVED when a host name does not resolve
- fix Sitemap Parser: limit now applies to sitemap index files, and total_urls and stats cover every URL that was read, not only the ones returned
- improvement Sitemap Parser finds the sitemap for you: pass a site address and it checks robots.txt and the usual paths. A missing sitemap is now a 404 SITEMAP_NOT_FOUND that lists what was tried
- improvement MCP server 1.4.0 on npm: new dns_propagation tool, allow_html for Markdown, URL shortener tools removed (50 tools)
- feature DNS Propagation Checker endpoint: ask five public resolvers at once and see whether they agree
- feature Tool pages for the JSON Formatter and Image Metadata endpoints, with file upload for images
- improvement The OpenAPI spec at /api/docs covers every endpoint, and Try it out in the API docs works without a key
- improvement Markdown to HTML is now full CommonMark with tables, task lists, strikethrough and autolinks. Raw HTML is escaped unless you set allow_html, and javascript: links are dropped
- improvement Password Generator strength accounts for excluded characters, and the response includes entropy_bits
- improvement URL-fetching endpoints also refuse carrier-grade NAT, multicast, test ranges and IPv6-wrapped private addresses
- improvement IP Geolocation returns 422 for private and reserved addresses instead of an empty result
- improvement JWT Decoder skips malformed exp, iat and nbf claims and lists them under warnings
- improvement JSON Schema Validator supports type lists like ["string", "null"] and reports broken schemas as 422 INVALID_SCHEMA
- improvement Base64 and URL decode return binary results as base64 or a data URI instead of failing
- improvement QR Code supports Unicode text. Output is SVG only; the PNG option has been removed
- improvement Security Headers works on sites that block non-browser clients, and retries with GET when HEAD is refused
- improvement Upstream and renderer failures return 502 or 503 with a stable error code (IP Geolocation, Security Headers, Performance, Screenshot, PDF endpoints)
- improvement Hash, Base64, URL Encode, Text Analyzer, Regex Tester and QR Code keep leading and trailing spaces in your input
- improvement Boolean parameters accept true/false, yes/no and on/off, and numbers and booleans come back as real JSON types
- improvement The 50 requests per second burst limit now applies per client IP, not to the whole platform
- improvement Every 401 and 429 now uses the standard error format, and quota and rate limit errors include Retry-After and X-RateLimit headers
- fix Hash: crc32 now returns the standard CRC-32 (abc gives 352441c2). It used to return a rarely used BZIP2 variant
- fix Sending url or domain as a list returns 422 instead of a server error
- fix Color Converter rejects out-of-range HSL values
- fix Meta Tag Extractor returns FETCH_FAILED when a page can't be fetched, instead of a server error
- fix Cron Parser returns 422 for expressions that can never run, like 0 0 30 2 *
- fix CSV to JSON and JSON to CSV accept comma and tab delimiters
- improvement Endpoints that fetch URLs now verify TLS certificates and check every redirect for private addresses
- improvement DNS Lookup without a type returns partial results, with a timed_out flag per record type
- improvement DNS Lookup, Email Auth and WHOIS time out after a few seconds with a 504 UPSTREAM_TIMEOUT instead of hanging
- fix Sitemap Parser no longer expands XML entities in fetched sitemaps
- fix URL Shortener temporarily disabled and existing short links purged due to persistent abuse for phishing link obfuscation
- improvement MCP server updated to v1.3.0 with 5 new tools (54+ total)
- feature Mixed Content Checker: find HTTP resources on HTTPS pages
- feature Structured Data Validator: extract and validate JSON-LD, Microdata, RDFa
- feature Sitemap Parser endpoint: parse sitemap.xml with stats and metadata
- feature CORS Checker endpoint: test CORS headers and spot misconfigurations
- feature JSON to YAML converter endpoint
- improvement MCP server updated to v1.2.0 with 5 new tools (49+ total)
- feature Markdown to PDF converter endpoint
- feature Regex Tester endpoint: test patterns with match details and ReDoS protection
- feature JSON Diff / Compare endpoint: compare two JSON objects and see changes
- feature JSON to XML converter endpoint
- feature XML to JSON converter endpoint
- improvement Searchable guides index page
- improvement Searchable endpoint selector in the playground on mobile
- fix Phone formatter now handles 00 and 011 international dialing prefixes
- feature MCP setup guides for connecting AI tools to the API
- feature Official MCP server (@apixies/mcp-server): use Apixies from Claude, Cursor, and other AI tools
- feature YAML to JSON converter endpoint
- feature Cron Expression Parser endpoint: human-readable cron schedule breakdowns
- feature HTML to Markdown converter endpoint
- feature CSV to JSON converter endpoint
- feature HTTP Status Code Lookup endpoint: get details for any HTTP status code
- feature Link Checker tutorial and broken link monitoring guide
- feature Email Validator tutorial and email list cleaning guide
- feature SSL Checker tutorial and automated certificate monitoring guide
- feature llms.txt endpoint: machine-readable API discovery for LLMs and AI agents
- improvement Tool pages now show smart inputs, pre-filled defaults, and code snippets in 4 languages
- feature API Playground: test any endpoint in the browser with no API key required
- feature JSON Formatter & Validator endpoint: validate and pretty-print JSON via API
- fix Fixed interactive sandbox for endpoints returning binary data (QR, PDF)
- improvement Security hardening: CSP headers, session protection, rate limiting
- improvement Enhanced structured data for better search visibility
- improvement Use case examples on every endpoint page
- improvement Cross-endpoint linking with related API suggestions
- feature Live API playground on the landing page
- fix Improved error responses with consistent JSON format
- improvement Normalized domain/URL inputs across all endpoints
- feature Community ideas board for endpoint suggestions
- feature Interactive API sandbox: test endpoints without an API key
- feature JSON Schema validator endpoint
- feature Phone number formatter endpoint
- feature WHOIS domain lookup endpoint
- feature Email authentication checker (SPF/DKIM/DMARC)
- feature Redirect tracer endpoint
- feature Meta tag extractor endpoint
- feature Link checker endpoint
- feature Robots.txt parser endpoint
- feature Favicon fetcher endpoint
- feature Markdown to HTML conversion endpoint
- feature JSON to CSV conversion endpoint
- feature Base64 encode/decode endpoint
- feature URL validator endpoint
- feature HTML to PDF conversion
- feature QR code generation with SVG and PNG support
- feature OpenAPI/Swagger documentation
- feature API health check and readiness endpoints
- feature HTTP headers inspection endpoint
- feature IP geolocation endpoint
- feature Email validation and SMTP check endpoint
- feature DNS lookup endpoint
- feature SSL certificate inspection endpoint
- feature Core API infrastructure with rate limiting and API key management