Pretty-print XML
API · /xml-api
XML API
A fast, fully-local XML toolkit: convert XML to JSON and JSON to XML with configurable attribute handling, validate XML well-formedness with line and column error details, and pretty-print XML while preserving element order. Every endpoint accepts input via the query string or the request body, up to 2 MB. Pure server-side compute, no third-party upstream, so responses are instant and always available. Ideal for system integrations, SOAP and legacy interop, RSS and sitemap processing, config tooling and data pipelines.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 78 ms
- Server probes · 24h
- Subscribers
- 3,519
- active
- Total calls
- 76
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 13,000 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 13,000 calls/month, 2 req/s
- All endpoints: XML to JSON, JSON to XML, validate, pretty-print
- No credit card
Basic
€3.00 /month
- 280,000 calls / month
- 12 requests / second
- Hard cap (429 above quota, no overage)
- 280,000 calls/month, 12 req/s
- Full convert + validate + format on up to 2 MB input
- Commercial use allowed
- Email support
Pro
€13.00 /month
- 1,500,000 calls / month
- 40 requests / second
- Hard cap (429 above quota, no overage)
- 1,500,000 calls/month, 40 req/s
- Attribute-aware conversion + line/column validation errors
- Priority email support
- Commercial use allowed
Mega
€34.00 /month
- 7,500,000 calls / month
- 120 requests / second
- Hard cap (429 above quota, no overage)
- 7,500,000 calls/month, 120 req/s
- Highest throughput for data pipelines & legacy/SOAP integrations
- All endpoints, full 2 MB inputs
- Priority support
Built by
Related APIs
Other APIs with overlapping tags.
Sitemap API
Fetch and parse an XML sitemap (the sitemaps.org protocol). Pass a sitemap URL and the parse endpoint fetches it — following redirects and transparently gunzipping .gz sitemaps — and returns its type: a urlset with every URL and its lastmod, changefreq and priority, or a sitemapindex listing the child sitemaps, with offset/limit paging for large files. The urls endpoint goes further: when the sitemap is an index it fetches the child sitemaps too and flattens every page URL into a single list, with a configurable cap on URLs and child sitemaps and a truncated flag so you stay in control. The request is made server-side and private or internal targets are refused (SSRF-guarded). Built for SEO audits, building crawl queues and content inventories, change monitoring and migration checks. A sitemap fetcher and parser — distinct from generic XML-to-JSON conversion (xml), the robots.txt evaluator (robots) and the on-page SEO audit (seo). No upstream key, no cache.
api.oanor.com/sitemap-api
Dotenv API
Convert between .env (dotenv) files and JSON, in both directions. The parse endpoint reads .env text into a clean JSON object: it skips blank lines and # comments, honours an optional leading export, unquotes single- and double-quoted values (interpreting \n, \t and \" escapes inside double quotes), strips inline comments after unquoted values, supports values that span several lines inside quotes, and can optionally expand ${VAR} and $VAR references against the variables already defined earlier in the same file — while leaving single-quoted values strictly literal. The stringify endpoint turns a JSON object back into a valid .env file, quoting only the values that actually need it and optionally prefixing every line with export for shell sourcing. Everything is computed locally and deterministically, so it is instant and private — your secrets never leave the request. Ideal for config tooling and migrations, CI/CD pipelines, converting .env to JSON for apps that want structured config (and back), and validating environment files. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This handles the dotenv format; for INI files with [sections] use an INI API, and for YAML or TOML use those APIs.
api.oanor.com/dotenv-api
JSON Merge API
Deep-merge JSON objects — the operation every config and settings system needs. The merge endpoint recursively merges two objects (the second overrides the first), or a whole list of objects merged left-to-right, combining nested objects key by key rather than replacing them wholesale, with a choice of array strategy: replace (default), concat, union (concatenate and de-duplicate) or merge_index (merge element by element). A null in the overriding object can either overwrite the existing value or be ignored, so you can patch only the fields you mean to. The defaults endpoint is the inverse and just as useful: it fills in only the keys your data is missing from a defaults object, so your existing values always win — exactly how you layer a user's settings over default configuration. Everything is computed locally and deterministically, with no schema required. Ideal for configuration and feature-flag layering, settings and preference merges, combining API responses or partial updates, environment overrides, and template defaults. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This merges documents; to diff or patch them (RFC 6902) use a JSON-diff API, to flatten them use a flatten API, and to address values use a JSON-Pointer API.
api.oanor.com/jsonmerge-api
HTML Table API
Render tabular data as an HTML table, and parse an HTML table back into data. The render endpoint turns a JSON array (of objects, or of arrays) or CSV into a clean, semantic <table> with <thead>/<tbody>, an optional caption and CSS class — every cell HTML-escaped so it is safe to embed. The parse endpoint does the reverse: give it any HTML containing a table and get back the headers, the rows and a ready-to-use JSON array of objects, with entities decoded and tags stripped from each cell. Perfect for emails and reports, dashboards and admin screens, and scraping or migrating tabular content. Pure local computation — no key, no third-party service, instant; up to 2 MB via POST. Live, nothing stored. 3 endpoints. Distinct from Markdown/ASCII table rendering and from generic HTML extraction.
api.oanor.com/htmltable-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for XML API?
What's the rate limit for XML API?
How much does XML API cost?
Can I cancel my subscription anytime?
Is XML API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/xml-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/xml-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/xml-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/xml-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.