All news
Product4 min read

Use Bearly's models from your own code

The Bearly API works with the official OpenAI and Anthropic SDKs and sends every request to zero-data-retention providers. It is available on every Bearly account.

A large ivory key lying horizontally with a round bow and squared teeth, pointing at a short column of five grey rectangles, the middle rectangle orange, on a charcoal ground

The models you use in Bearly chat are now available to your own code through the Bearly API. It works with the official OpenAI and Anthropic SDKs: change the base URL and the API key, and the rest of your code stays the same. Every request goes to a provider that has agreed to zero data retention. It's available on every Bearly account.

Change two lines

Say you have a script that summarizes each day's support tickets with the OpenAI SDK. To run it through Bearly, create a key under Developers → API Keys and change how the client is built:

client = OpenAI(
    base_url="https://api.bearly.ai/v1",
    api_key=os.environ["BEARLY_API_KEY"],
)

Then set model to a Bearly model such as gpt-6.1-sol or bearly-pro. Requests, streaming, and responses keep the format the SDK expects, so the parsing code doesn't change. The Anthropic SDK works the same way with the base URL https://api.bearly.ai.

You don't need an OpenAI, Anthropic, or other provider key. Usage is billed to your Bearly account under your plan and credits, the same way chat is. If you belong to a managed team, its model policy applies here too, and an administrator can turn API access off with the Developer API access policy setting.

The models

At launch, the API offers:

  • Bearly Fast, Pro, and Ultra, the same models as in the app's model picker.
  • GPT 6.1 Sol, GPT 6 Luna, and GPT 6 Astra.
  • Claude Opus 5.5, Sonnet 5.5, and Haiku 5.5.
  • Grok 4.7, GLM 5.3 and 5.3 Flash, DeepSeek V4 Pro and Flash, and MiniMax M3.

Each model speaks the API its provider built for it. GPT models, Grok, and the Bearly models accept both Chat Completions and Responses. Claude models use Anthropic's Messages API. GLM, DeepSeek, MiniMax, and Bearly Fast use Chat Completions.

We chose not to translate between these formats. A translation layer would let you call Claude through Chat Completions, but it would also hide differences in tool calls, streaming events, and reasoning that your code eventually runs into. Keeping each model in its own format means the provider's documentation stays accurate for your requests.

To see what your account can use right now, call client.models.list() in either SDK.

Zero data retention on every request

The API sends requests only to providers that have agreed not to keep your prompts or the model's responses after processing them. Bearly applies this rule to every request, with no setting to turn it off. If a model has no zero-data-retention route, it isn't on the list, and Bearly never falls back to a provider that keeps data.

One effect is visible in the Responses API. OpenAI's Responses API can store responses so a later request can refer to them with previous_response_id. Bearly always sends Responses requests with storage off, so stored responses and background mode aren't available. Send the conversation history with each request, as you would with Chat Completions.

Provider-hosted tools, such as a provider's built-in web search, aren't available either. Function calling, where you define the tools and run them yourself, works.

Models will change

We'll keep adding models and try to keep the ones people rely on. We may also replace, restrict, or remove a model at any time, sometimes without notice. A removed model returns a model_not_found error; Bearly never quietly answers with a different model.

If you would rather not track model releases, use bearly-fast, bearly-pro, or bearly-ultra. We keep those names working and move them to newer models as they arrive. If your work depends on one particular model, handle model_not_found and keep a tested alternative ready.

Limits worth knowing

Two models have limits on tool calls. GPT models accept function tools on Chat Completions only with reasoning turned off, which some of them don't allow, so use the Responses API for function calling with GPT. Claude Opus 5.5 and Sonnet 5.5 accept only automatic tool choice; forcing a specific tool returns an error.

Images, embeddings, audio, and fine-tuning aren't part of the API yet.

The Bearly API guide has the setup steps, examples in Python, TypeScript, and curl, the full model table, and the error codes.

Get Bearly

Choose how to continue

Continue in your browser to start using Bearly. Desktop downloads are available from the footer.