Public data that finally connects to itself.
We import the datasets at source, normalise them, link them and serve them as a versioned REST API. You make a request and get validated JSON — no scrapers, no CSVs to watch, no classifications to maintain.
GET /{modul}/v1/{resursă}?pagina=1
Authorization: Bearer ••••••••
{
"data": [ … ], // the only thing that differs
"meta": { pagination, updated },
"links": { next }
}
Not Modified · 0 off your quota
The limit is in every response; you do not find out when you cross it.
The sources do not connect. That is why we exist.
Every public register was built as if it were the only one: a different format, a different rhythm, no shared key. We reconcile once and keep it stable while the sources shift underneath us.
The same response, whatever the source.
- one token
- the same error format
- the same pagination
- limits in the headers
- versioning per module
Six things any dataset does inside your product.
However different the content, it comes down to confirming, suggesting, completing, calculating, grouping or saying how things were. Each of them, and in bulk, in a single call.
You confirm that an entered value really exists in the official set, while fixing it still costs one click.
The field offers results from the official set as the user types. What lands in your database is a chosen value, not free text.
One identifier brings the rest of the information with it. The data goes in spelled correctly from the start.
Sometimes you need the result, not the record. It arrives already calculated, with the rules applied correctly and kept current.
Reports are built on stable codes, not on hand-typed names. Three spellings land on the same row.
Not just how it is now, but how it was on a given date. For any decision that has to be justified later.
The catalog grows. Your integration stays the same.
Independent modules, each with its own page, documentation and version. You pick only what you need; a new module does not mean new plumbing.
See all modulesOne token and the HTTP client you already have.
You install nothing. The envelope, the errors and the pagination are identical everywhere, and the OpenAPI spec generates a client in your language.
# any module, the same shape
curl "https://oneapi.ro/api/{module}/v1/{resource}" \
-H "Authorization: Bearer $ONEAPI_TOKEN" \
-H "Accept: application/json"
# second time round, nothing off your quota
curl "https://oneapi.ro/api/{module}/v1/{resource}" \
-H "Authorization: Bearer $ONEAPI_TOKEN" \
-H 'If-None-Match: "a3f9c1e0"'
# → 304 Not Modified
What you build today has to still work in two years.
Notice before breaking changes
Announced publicly before anything happens.
The old version stays up
At minimum, from the announcement. We do not break someone’s production on a Tuesday morning.
Permanent identifiers
A code, once assigned, belongs to that record forever.
Data age, visible
Every response says how old the dataset is. You do not have to guess.
You pay for volume, not for the data.
Every plan reaches the same modules. Paid plans raise volume and rate and unlock the premium routes, not the number of users.
Need more? Scale and Growth, for high volume.
What a data API platform is
A data API delivers structured information on demand, over an HTTP request, instead of a file you download by hand or a scraper you wrote yourself. Rather than maintaining a monthly import from a CSV whose columns keep moving, you query a versioned endpoint and get validated JSON.
oneapi groups several datasets under one technical contract: the same response structure, the same error codes, the same pagination and the same token authentication. Adding a new module does not require rewriting the integration you already have.
For teams building address autocomplete, billing flows that validate a VAT number at checkout, applications that need official classifications, or any product that depends on data maintained by someone else. The catalog covers local and international datasets and grows with the requests we get.
Authentication uses a Bearer token generated from the dashboard, limited to the modules you tick. There is no mandatory SDK: any HTTP client works, and the OpenAPI spec generates a client in your language.
Most requests are served from cache, with ETag and Cache-Control on every response, so a well-written client spends quota only when the data has actually changed. The infrastructure is hosted in the European Union.
The free plan includes access to every module, with no card and no limited trial. Paid plans raise the volume and the per-second limit, not the number of users.
See the full comparison →Every module has a reference generated from the code, examples in five languages and a console you can try with your own token.
Open the documentation →Every dataset states its provenance and licence publicly. The data comes from official public sources, and the age of the set is visible in every response.
Sources and licences →From new account to first response, in minutes.
3.000 requests a month, the whole catalog, no card.