Back

How to Build an App on the Ollama API

Ollama is not just a chat tool — it is a local API server. Here is how to build a real application against it, with streaming and structure.

How to Build an App on the Ollama API
Written by
BSH Technologies
Published on2026-05-11

Build on Ollama by calling its local HTTP API at port 11434 from your code

Ollama runs a local server, and that server is the foundation for building real applications, not just chatting in a terminal. Once Ollama is installed and a model is pulled, it exposes an HTTP API at http://localhost:11434 with endpoints for chat, completion, and embeddings. Any language that can make an HTTP request can drive it, which means you can build a private, local-first AI feature into a web app, a script, or a backend service without an API key, a cloud account, or a per-token bill. The model runs on your machine and answers your code directly.

The endpoints you will actually use

Ollama's API is small and focused, and three endpoints cover the vast majority of what you build.

  • /api/chat — the workhorse. Send a list of messages with roles, get back an assistant reply. This is what you use for conversational features and most instruct-model tasks.
  • /api/generate — a simpler single-prompt completion endpoint, handy when you have one prompt and want one response without managing a message history.
  • /api/embeddings — turns text into vectors, which is what you need for semantic search and retrieval-augmented generation over your own documents.

Streaming makes it feel fast

By default the chat and generate endpoints stream their response token by token, the same way a hosted assistant types its answer out live. For any user-facing feature this matters enormously, because a reply that appears progressively feels responsive even when the full answer takes a few seconds to complete. Your code reads the stream and updates the interface as tokens arrive. If you would rather have the whole response at once — for a batch job or a simple script — you set streaming off and receive a single complete reply instead.

Because Ollama's request format closely mirrors the OpenAI API, code written against that shape often needs only its base URL changed to point at your local server. Prototyping locally and switching to or from a cloud provider later becomes a one-line decision.

Getting structured output you can rely on

Applications usually need data, not prose. When you want the model to return JSON your code can parse, ask for it explicitly in the prompt and use Ollama's support for a structured format so the response conforms to a schema rather than wandering into freeform text. Pair that with validation on your side — never trust the model's output blindly — and you have a reliable bridge between a language model's flexibility and the strict shapes your code expects. This pattern is what turns a chat toy into a dependable component of a real system.

From localhost to something real

Building against localhost is the easy and correct way to start, but a few realities matter as you go further. Ollama processes requests for a model sequentially, so for many concurrent users you front it with a queue or run multiple instances. If you deploy it on a server for a team, you secure the endpoint behind authentication rather than exposing the open port, because the API has no built-in auth of its own. And you keep the model choice configurable, so swapping a faster or smarter model later does not mean rewriting your application. None of this is hard; it just rewards thinking past the demo.

Building retrieval on the embeddings endpoint

The embeddings endpoint is the quiet enabler of the most useful local applications. By turning your documents into vectors and storing them, you can find the passages most relevant to a question and feed them to the chat endpoint, so the model answers from your own material rather than its generic training. The pattern is straightforward: embed each document chunk once and keep the vectors; at query time, embed the question, retrieve the closest chunks, and include them in the prompt. Everything — the documents, the vectors, and the model — stays on your hardware, which makes Ollama a complete foundation for private, grounded question answering without a single external call.

Handle failure like any other dependency

Treat the local model as a service that can be slow or unavailable, because occasionally it will be. Set timeouts so a stuck request does not hang your application, handle the case where the model is still loading into memory on the first call after startup, and validate every response before acting on it. These are the same defensive habits you would apply to any network dependency, and applying them here is what separates a fragile prototype from a component you can rely on.

Prefer it built and managed for you?

Wiring a model into an application is the fun part; making it concurrent, secured, and production-ready is where the engineering lives. BSH Technologies builds applications on local model APIs like Ollama — streaming interfaces, structured output, queuing, and the security an exposed endpoint demands. If you have an AI feature to build on private infrastructure, talk to BSH Technologies or explore our AI & automation services.

Frequently asked questions

Does Ollama have an API?

Yes. Ollama runs a local HTTP server on port 11434 with endpoints for chat, completion, and embeddings. It starts automatically with Ollama, and any language that can make an HTTP request can use it. The request format closely resembles the OpenAI API, so existing client code often needs only its base URL changed to point at the local server.

Is the Ollama API compatible with OpenAI?

Largely, yes. Ollama provides endpoints whose request and response shapes mirror the OpenAI chat format, and it also offers an explicitly OpenAI-compatible path. In practice, code written for OpenAI usually works against Ollama by changing the base URL and model name, which makes it easy to prototype locally or switch between local and cloud models.

Can Ollama handle multiple users at once?

Ollama processes requests for a given model sequentially rather than fully in parallel, so a single instance is best for one user or light use. For many concurrent users, front it with a request queue, run multiple instances, or use a higher-throughput server like vLLM. Plan for concurrency explicitly when building a multi-user application.

How do I get JSON output from Ollama?

Ask for JSON explicitly in your prompt and use Ollama support for a structured response format so the output conforms to a schema instead of freeform text. Always validate the result in your own code rather than trusting it blindly. This combination gives you reliable, parseable data that your application can depend on for structured tasks.

Related Topics

#Ollama#API#Local AI

From the blog

View all posts
Apple Intelligence Is Coming to China With Alibaba's Qwen: Features, iOS 27.3 Dates, iPhones and the Catch
blog.categories.ai

Apple Intelligence Is Coming to China With Alibaba's Qwen: Features, iOS 27.3 Dates, iPhones and the Catch

On October 31, 2026, Apple confirmed that the first Apple Intelligence features are coming to iPhone users in mainland China, with Alibaba's Qwen built into Siri, Writing Tools and Visual Intelligence. Testing starts November 4 in the iOS developer beta and the public launch comes with iOS 27.3 in December. Here is every feature, how the Qwen hand-off works, which iPhones qualify and what is still missing.

BSH Technologies
BSH Technologies · 2026-11-01
One robots.txt Line to Opt Out of AI Training: OpenAI, Google, Microsoft and Anthropic Back __usage_ai-training
blog.categories.ai

One robots.txt Line to Opt Out of AI Training: OpenAI, Google, Microsoft and Anthropic Back __usage_ai-training

On October 30, 2026, OpenAI, Google and Microsoft said they will honor a shared robots.txt token, __usage_ai-training, drafted at the IETF by Anthropic's Kevin Kelley. One group in robots.txt can now tell every participating AI lab not to train on your site. Here is the exact syntax, each company's timeline, Bing's new grounding controls and what the token cannot do.

BSH Technologies
BSH Technologies · 2026-10-31