Parse a query string to an object
API · /querystring-api
Query String API
Parse and build URL query strings — with full support for nested objects and arrays. Turn a query string like a[b][c]=1&tags[]=x&tags[]=y into a clean nested JSON object, and turn any JSON object back into a properly-encoded query string. Choose how arrays are serialised (indices, brackets, repeated keys or comma-separated) and whether to URL-encode. Far beyond a flat key=value encoder — it handles the deep structures real web frameworks (Rails, PHP, Express/qs) use. Pure local processing — no key, no third-party service, instant. Live. 3 endpoints. Built for API request construction, parsing complex links and redirects, form-encoded bodies and webhook payloads.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 92 ms
- Server probes · 24h
- Subscribers
- 4,286
- active
- Total calls
- 42
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 1,260 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 1,260 calls/month
- 2 req/sec
- Nested parse + stringify
- No credit card
Starter
€4.40 /month
- 16,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 16k calls/month
- 8 req/sec
- Array-format options
- Email support
Pro
€24.00 /month
- 158,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 158k calls/month
- 20 req/sec
- Request-building pipelines
- Priority support
Mega
€60.00 /month
- 810,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 810k calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
URI Template API
Expand URI Templates (RFC 6570) — the standard used by GitHub, OpenAPI/Swagger, HAL and many hypermedia APIs — to build URLs from a template and a set of variables. The expand endpoint takes a template such as /users/{user}{?page,per_page} and a JSON object of variables, and returns the finished URI with everything correctly percent-encoded. It implements all four levels of the spec: simple expansion {var}; reserved {+var} and fragment {#var} expansion; the label {.var}, path {/var}, path-style-parameter {;var}, query {?var} and query-continuation {&var} operators; multiple variables {x,y}; and the value modifiers — prefix {var:3} (first N characters) and explode {var*} (expand lists and maps element by element). Variables can be strings, lists or associative maps. The parse endpoint inspects a template and lists its expressions, operators and variable names. Everything is computed locally and deterministically, so it is instant and private. Ideal for REST and hypermedia clients, API SDKs and code generators, OpenAPI tooling, and link building. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This expands URI templates; for building or parsing query strings use a query-string API and for canonicalising URLs use a URL API.
api.oanor.com/uritemplate-api
URL Canonicalize API
Normalize URLs to a canonical form so you can deduplicate, compare and clean them. The canonicalize endpoint lower-cases the scheme and host, drops the default port (80 for http, 443 for https), resolves ./ and ../ path segments and fixes percent-encoding using the standard WHATWG URL parser, then applies the cleanups you choose: strip marketing and analytics tracking parameters (all utm_* plus gclid, fbclid, msclkid, yclid, mc_eid and many more), sort the remaining query parameters into a stable order, optionally drop the #fragment, and add or remove the trailing slash. It returns the canonical URL, the fully parsed components and the exact list of changes it made. The compare endpoint canonicalizes two URLs and tells you whether they point to the same resource — perfect for catching duplicate links that differ only by tracking codes, casing, port or parameter order. Everything is computed locally with no network calls, so it is instant, private and safe. Ideal for crawlers and SEO tooling, link deduplication and analytics, cache keys, bookmarking and content pipelines. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This canonicalizes the URL string; it does not fetch it or follow redirects — for link previews and unshortening use a URL-unfurl API.
api.oanor.com/urlcanon-api
URI Schemes API
The IANA Uniform Resource Identifier (URI) Schemes registry as an API — all 413 registered schemes (http, https, mailto, tel, ftp, ssh, magnet, bitcoin, geo, did, …). Look up any scheme to get its description, registration status (Permanent, Provisional or Historical) and defining reference; search by name or description; or list all schemes filtered by status. Ideal for URL parsers and validators, link handlers, deep-linking, security allow-lists and developer tooling that needs to recognise or vet URI schemes.
api.oanor.com/urischemes-api
Domain Parser API
Parse any hostname or URL with the Public Suffix List. Split a domain into its subdomain, registrable domain (eTLD+1) and public suffix (eTLD), or fetch just the suffix or just the registrable domain. Handles full URLs, internationalized (punycode) domains, IP addresses, multi-level suffixes like co.uk and com.au, and — when you ask for it — private suffixes such as github.io and s3 buckets. Built on an always-current Public Suffix List and served entirely in-memory, so responses are instant and the service is always available. Ideal for cookie and domain scoping, analytics attribution, email and link validation, security and anti-abuse, and devops tooling.
api.oanor.com/domain-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Query String API?
What's the rate limit for Query String API?
How much does Query String API cost?
Can I cancel my subscription anytime?
Is Query String 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/querystring-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/querystring-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/querystring-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/querystring-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.