API · /ndjson-api

NDJSON API

healthy 4,737 Subscribers

Work with NDJSON / JSON Lines — the one-JSON-value-per-line format used by application and audit logs, streaming and LLM responses, jq, BigQuery, Elasticsearch bulk and many data pipelines. The to-array endpoint parses an NDJSON stream into a regular JSON array; to-ndjson does the reverse, turning a JSON array into NDJSON (one compact value per line); and validate checks every line independently, reporting which lines are valid and the exact parse error for any that are not. Blank lines are ignored. Perfect for log processing, ETL, data import/export and stream debugging. Pure local computation — no key, no third-party service, instant; up to 4 MB via POST. Live, nothing stored. 4 endpoints. Distinct from JSON validation/formatting and from CSV tooling.

api.oanor.com/ndjson-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/ndjson-api/openapi.json
/api/ndjson-api/llms.txt

Discovery: GET /api/index.json lists every API.

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
81 ms
Server probes · 24h
Subscribers
4,737
active
Total calls
56
last 7 days
status Full status page → · 12 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 1,015 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 1,015 calls/month
  • 2 req/sec
  • To array + to NDJSON + validate
  • No credit card
Sign in to subscribe

Starter

€0.55 /month

  • 8,550 calls / month
  • 8 requests / second
  • Hard cap (429 above quota, no overage)
  • 8.55k calls/month
  • 8 req/sec
  • Per-line validation
  • Email support
Sign in to subscribe

Pro

€20.45 /month

  • 136,500 calls / month
  • 20 requests / second
  • Hard cap (429 above quota, no overage)
  • 136.5k calls/month
  • 20 req/sec
  • Log / ETL pipelines
  • Priority support
Sign in to subscribe

Mega

€58.45 /month

  • 720,000 calls / month
  • 50 requests / second
  • Hard cap (429 above quota, no overage)
  • 720k calls/month
  • 50 req/sec
  • Platform scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

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

JSON Pointer API

Address values inside a JSON document by JSON Pointer (RFC 6901) — the /a/b/0 path syntax used by JSON Patch (RFC 6902), JSON Schema and OpenAPI $ref. The get endpoint resolves the value at a pointer (and tells you whether it exists); set writes a value at a pointer and returns the modified document (use - as the final array token to append); and list enumerates every pointer in a document, optionally only the leaf values. Token escaping (~0 for ~, ~1 for /) is handled for you. Perfect for surgically reading and patching deep JSON, building config and form tooling, and walking API responses. Pure local computation — no key, no third-party service, instant; up to 2 MB via POST. Live, nothing stored. 4 endpoints. Distinct from JSONPath querying, JSON diff/patch and dot-notation flattening.

api.oanor.com/jsonpointer-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for NDJSON API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call NDJSON API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for NDJSON API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does NDJSON API cost?
NDJSON API has a free tier with 100 calls / month. Paid plans start at €0.55 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is NDJSON API GDPR-compliant?
All requests to NDJSON API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

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/ndjson-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/ndjson-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/ndjson-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/ndjson-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 in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 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 in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.