Format / beautify SQL
API · /sqlformat-api
SQL Formatter API
Format, beautify and minify SQL across 15+ dialects. Pass a query and get it pretty-printed with consistent indentation and keyword casing — for PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift, Spark, Trino, DuckDB, ClickHouse, DB2, Hive and standard SQL. Control the indent width and whether keywords are upper-cased, lower-cased or left as-is. A minify endpoint collapses a query to a single line (stripping comments while preserving string literals), and a dialects endpoint lists everything supported. Pure local processing — no key, no third-party service, instant. Live. 4 endpoints. Built for SQL editors and IDEs, query loggers, migration tooling, documentation and code review.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 69 ms
- Server probes · 24h
- Subscribers
- 3,149
- active
- Total calls
- 76
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 1,460 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 1,460 calls/month
- 2 req/sec
- Format + minify, 15+ dialects
- No credit card
Starter
€6.40 /month
- 26,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 26k calls/month
- 8 req/sec
- Keyword case + indent control
- Email support
Pro
€26.00 /month
- 178,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 178k calls/month
- 20 req/sec
- IDE / query-logger pipelines
- Priority support
Mega
€62.00 /month
- 910,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 910k calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Escape API
Escape a string so it is safe to drop into a specific context. Pick a target — a regular expression (so the text matches literally), a shell command (POSIX single-quote wrapping), a JSON string, a CSV field (RFC 4180 quoting) or a SQL string literal — and get back the correctly escaped value, plus a short note on the rule applied. The contexts endpoint lists every target with a worked example. Perfect for code generation, building commands and queries, templating and data export, and safely interpolating user input. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. The SQL context is a quoted literal for convenience, not a replacement for parameterised queries. Distinct from base64/hex/URL/HTML-entity encoders.
api.oanor.com/escape-api
Prettier API
Format and beautify source code with Prettier, the de-facto code formatter. Pass code and a language and get it consistently re-formatted: JavaScript, JSX, TypeScript, TSX, CSS, SCSS, LESS, GraphQL and Vue. Tune the output with print width, tab width / tabs, semicolons, single vs double quotes and trailing-comma style. Syntax errors come back with a clear message. The inverse of a minifier. Pure local processing — no key, no third-party service, instant. Live. 3 endpoints. Built for code editors and playgrounds, paste-and-format tools, snippet beautification, docs and CI formatting checks. Complements the SQL formatter and the JSON/YAML/Markdown tools (which cover their own languages).
api.oanor.com/prettier-api
Programming Languages API
The language definitions GitHub uses to recognise code (the open-source Linguist data) as an API — a clean reference for syntax highlighting, file-type detection, repository dashboards and developer tooling. For each of 800+ languages the API returns its type (programming, markup, data or prose), its brand colour (the hex GitHub paints it), the file extensions associated with it, common aliases, the GitHub language id and the editor (ace) mode. Look a language up by name or alias (golang resolves to Go), reverse-look-up which language(s) own a file extension (.py → Python; .h → C, C++, Objective-C), list the languages of a type, search, or list them all. Distinct from languages-api (ISO 639 human languages) — this is the programming-language reference. Served from memory — always fast.
api.oanor.com/proglang-api
MIME Types API
The canonical MIME / media-type database (the jshttp mime-db used by Express and most of the Node ecosystem: IANA + Apache + nginx), served from memory — no key. Resolve a media type to its file extensions, charset and compressibility; reverse-lookup the media type(s) for a file extension (e.g. png → image/png); and search or list types by source. 2,600+ media types, 1,000+ with file extensions. Lean, predictable JSON. Ideal for upload validation, Content-Type resolution, file-type detection, download handlers and developer tooling.
api.oanor.com/mimetypes-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for SQL Formatter API?
What's the rate limit for SQL Formatter API?
How much does SQL Formatter API cost?
Can I cancel my subscription anytime?
Is SQL Formatter 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/sqlformat-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/sqlformat-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/sqlformat-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/sqlformat-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.