Naro
Menu

LLM API gateway

One API for every major LLM

One endpoint and one API key give your application access to the major large language models. To use a different model, change the model parameter. Nothing else in your integration changes.

request.ts

const res = await fetch("https://api.example-naro.dev/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.NARO_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "chat-model-a",
    messages: [{ role: "user", content: "Summarize this ticket" }],
  }),
});
Illustrative product interface

From key to first response in four steps

  1. 01

    Create a workspace

    We set up your workspace and you generate an API key for your first project.

  2. 02

    Point requests to Naro

    Set the Naro base URL and key in your HTTP client or existing SDK.

  3. 03

    Pick a model

    Choose any model from the catalog with the model parameter.

  4. 04

    Review usage

    Each call is recorded with its key, model and result.

    200 OK chat-model-a

One catalog instead of many integrations

Each model provider has its own endpoint, key, request format and bill. With Naro, all of them are behind one endpoint. The model catalog in your workspace shows each available model, its type and its current status.

Illustrative product interface

before.json

{ "model": "chat-model-a", "messages": [...] }

after.json

{ "model": "reasoning-model-b", "messages": [...] }

Switch models by changing one value

Testing a reasoning model against your current chat model takes one edit. The endpoint, the key, the message format and the response shape stay the same, so you can compare models on real requests without touching the rest of your code.

Every request in one usage log

Calls to every model land in the same log, grouped by API key. You can see which project sent a request, which model answered and whether it succeeded, and usage across all models adds up to one bill.

  • Separate keys per project so usage stays apart.
  • Revoke a key at any time from the workspace.
  • One response format across chat and reasoning models.
  • One bill for all models you use.
Illustrative product interface

Who uses Naro

Product teams

Add chat, summarization or search to an app through one integration, and keep the option to change models later.

Independent developers

Try different models with one key and one bill instead of opening an account with every provider.

Teams comparing models

Send the same prompt to several models, compare the results in the usage log, and move traffic to the model that fits.

Data and key security

How we handle your requests, your keys and your account data.

Encrypted in transit
All API traffic to and from Naro uses HTTPS.
Request content stays scoped
Prompts and responses are used to route your call to the model you chose and return the result. Nothing else.
Keys you control
A key is shown once when created. You can create one per project and revoke any key immediately.
Export and deletion
You can request an export of your account and usage data, or ask us to delete it.
Support you can reach
Questions about your account, billing or an integration go to our team, and we aim to reply within 1–2 business days.

Frequently asked questions

Which models can I use through Naro?

Naro brings the major large language models behind one API, including chat, reasoning and embedding models. The model catalog in your workspace lists every model that is available to your key, along with its current status.

How do I switch from one model to another?

Change the model parameter in your request. The endpoint, the key and the request format stay the same, so there is no second integration to build or maintain.

Do I need to rewrite my existing code?

In most cases you only change the base URL and the API key in your client. Requests and responses use one consistent format across models.

How is usage billed?

Usage is metered per request and per model, and every call appears in your usage log. Plan details and rates are shared on request. See the Pricing page or contact us.

What happens to the content of my requests?

Request content is used to forward the call to the model you selected and return the result to you. It is not used for any other purpose. Traffic is encrypted in transit.

How do I get started?

Contact us through the Contact page with a short note on your use case. We set up a workspace, you create an API key, and you can send your first request right away.

Connect once and use every major model.

Contact sales