Skip to main content
iVentureTeam

Odoo API and Third-Party Integration: A Practical Guide (2026)

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
September 17, 20268 min read5 views
Summarize with AI
ChatGPT logoClaude logoDeepSeek logoPerplexity logo
Odoo API Integration Guide (2026)

Almost every Odoo project reaches a point where Odoo has to talk to something else: a webstore, a payment gateway, a shipping tool, or a BI dashboard. That connection runs through the Odoo API, and building it well is the heart of Odoo integration services

This guide explains what the Odoo API is, how to integrate Odoo with third-party systems, and what is changing in 2026, based on Odoo's developer docs. For the custom-code side, see our Odoo custom module upgrade guide. 

What is the Odoo API?

The Odoo API is a set of web service endpoints that expose Odoo's models, and their data, to outside software over HTTP. It is how external systems read from and write to Odoo.

Odoo offers three flavours of this API: the older XML-RPC and JSON-RPC services, and a new JSON-2 API added in Odoo 19 that posts JSON to a simple URL per model and method.

Note that Odoo does not ship a classic REST API with resource URLs like some apps do. People searching for an Odoo REST API are really looking for these RPC and JSON-2 endpoints.

Odoo API vs an Odoo integration

The API is the interface Odoo exposes; an integration is the working connection you build on top of it. They are related but not the same thing.

The API is a capability that sits there, ready. An integration is the actual flow you create with it, for example syncing Shopify orders into Odoo, or pushing invoices to a payment system.

So "does Odoo have an API" and "can Odoo integrate with X" are different questions. The API almost always can; whether an integration exists depends on whether someone has built it.

Integrate Odoo

Ways to integrate Odoo: connectors vs custom API

You can integrate Odoo: with ready-made connectors, or with a custom integration built on the API. Which one fits depends on the tool and how far you need to go.

Ready-made connectors

Connectors are pre-built links for common tools. Odoo's app store has connectors for Shopify, Amazon, and more, and no-code platforms like Zapier and Make can wire Odoo to thousands of apps without writing code.

Custom API integration

A custom integration uses the Odoo API directly. You build it when no connector fits, when you need two-way sync, custom fields, or specific business logic, or when a connector cannot handle your data volume.

Cost and timeline depend on a few things: how many systems you connect, whether data flows one way or both, the data volume, and how many custom fields and rules are involved. More of each means more effort.

What you can do with the Odoo API

Through the API you can call Odoo's ORM methods, the same ones the interface uses, to read and change almost any data. The core set is small and consistent.

The common operations are: search to find record ids, read to fetch fields, search_read to do both at once, create to add records, write to update them, and unlink to delete.

Because the API exposes model methods, you can also trigger business actions, such as confirming a sales order, not just raw data changes. Every call respects the user's own permissions.

Authentication and API keys

Odoo's newer JSON-2 API authenticates with an API key sent as a bearer token, not a username and password. The older RPC services still use a database, user id, and password.

You generate a key per user, with a description and an expiry. For security, keys cannot last more than three months, so long-running integrations have to rotate them regularly.

For integrations, Odoo recommends a dedicated bot user with only the permissions it needs, and no interactive login. That limits the damage if a key is ever exposed.

A practical example

Here is a minimal JSON-2 call that reads companies from Odoo, using Python. It searches and reads in a single request.

import requests

BASE_URL = "https://mycompany.odoo.com/json/2"
API_KEY = "..."  # load from a secure store, never hard-code

headers = {
    "Authorization": f"bearer {API_KEY}",
    "X-Odoo-Database": "mycompany",
}

response = requests.post(
    f"{BASE_URL}/res.partner/search_read",
    headers=headers,
    json={"domain": [["is_company", "=", True]], "fields": ["name", "email"]},
)
print(response.json())

The call posts to the res.partner model's search_read method with a filter and the fields you want back. Odoo returns matching records as JSON. The full reference is in Odoo's external API docs.

Real-time integration: webhooks and automated actions

The API is pull-based: your software asks Odoo for data. For push, when Odoo should notify another system as events happen, use webhooks and automation rules. Both patterns matter.

Odoo's automation rules can fire when a record is created or updated, and send an outgoing webhook to another system. That keeps external tools in sync in near real time, without constant polling.

The rule of thumb: pull with the API when you need data on demand, and push with webhooks when another system must react the moment something changes in Odoo.

API limits, reliability, and security best practices

A reliable Odoo integration respects how the API behaves under load and follows a few security basics. These are what separate a demo from production.

Each JSON-2 call runs in its own database transaction, and you cannot chain several into one. So for related steps, use a single method like search_read or a business action, so the data stays consistent.

Batch reads instead of making many small calls, handle errors and retries, and avoid hammering the server with rapid polling. Prefer webhooks for events over tight polling loops.

On security: store keys in a secret store, never in code or the browser, rotate them on schedule, use least-privilege bot users, and always call Odoo over HTTPS.

Connecting Odoo to AI agents with MCP

MCP (Model Context Protocol) is the newest way to integrate Odoo: it lets AI assistants read and act on your Odoo data through a standard interface. It sits on top of the same API.

An Odoo MCP server wraps that API and exposes it to AI clients like Claude or Cursor. The assistant can then search records, create entries, and run actions in plain language, inside its own chat.

MCP is an emerging open standard, and community Odoo MCP servers already exist, some on the Odoo app store. It is early, so a secure, permission-scoped setup matters as much as the connection itself.

For teams adding AI to their ERP, this turns Odoo into a tool an assistant can use directly. It pairs naturally with AI and Odoo integration work.

Book a Free Odoo integration consultation

What changes in Odoo 20: XML-RPC and JSON-RPC are being removed

Odoo has scheduled the older XML-RPC and JSON-RPC APIs for removal in Odoo 20, expected in late 2026, so new integrations should be built on JSON-2. This is the biggest API change in years.

The endpoints being removed are /xmlrpc, /xmlrpc/2, and /jsonrpc, covering the common, database, and object services. If you have an existing integration on these, plan to migrate it to JSON-2.

This is the single most important thing to check about any Odoo integration in 2026. Guides that teach only XML-RPC are now out of date, so factor this into any upgrade plan.

Common Odoo integrations we build

Most Odoo integrations fall into a handful of patterns, and iVentureTeam has built them across ecommerce, finance, and operations. The method changes, the goal does not.

Common examples include ecommerce (Shopify, Amazon, Magento), payments and accounting, WhatsApp and messaging, shipping and logistics, BI tools like Power BI, and accounting systems such as Tally.

Each of these runs on the same API foundation, whether through a connector, a custom build, or a webhook flow, tailored to how your data actually moves.

How iVentureTeam builds Odoo integrations

iVentureTeam designs, builds, and secures Odoo integrations end to end, from picking the right method to running it in production. The method should fit your data, not the reverse.

We start by mapping the data flow: which systems, which direction, how often, and which fields. That decides whether a connector, a custom API integration, or a webhook flow fits best.

From there we build and harden it through our Odoo integration services and Odoo development services, with secure keys and tested error handling.

Case study: unifying six sales channels through a custom connector

Case study: unifying six sales channels through a custom connector

DeenSqure, a multi-region D2C brand, needed six sales channels to stop fighting each other, and iVentureTeam unified them on Odoo with a custom connector and webhooks. Inventory drift was costing real money.

Drift across Shopify, Amazon, and physical stores had cancelled 2.1 million dollars of orders in a year. We built a custom multi-channel connector with a single SKU ledger, plus idempotent Shopify and Amazon webhooks to stop double-bookings.

The result was real-time inventory sync across Shopify, Amazon, and four POS terminals, 99.7% stock accuracy, and 2.1 million dollars of recovered revenue in the first quarter, delivered in 11 weeks.

Read the full DeenSqure case study for the integration architecture.

The bottom line

The Odoo API can connect Odoo to almost anything; the real choice is which method fits and how you secure it. Connectors for speed, custom APIs for control, webhooks for real-time, and MCP for AI.

Build new integrations on JSON-2, not the RPC services being removed in Odoo 20, and treat keys and permissions as seriously as the code. That is what keeps an integration working and safe.

Ready to connect Odoo to your other systems?

If you want Odoo talking to your webstore, payment, or BI tools without data drift or security gaps, iVentureTeam can help. Book a free consultation and we will map the right integration method for your stack.

Frequently Asked Questions about Odoo API & Third-Party Integration

Is the Odoo API free?

+

The API is built into Odoo, but external API access on Odoo's hosted plans requires the Custom plan, not the Free or Standard plans. On self-hosted Community, you can use it without a per-user fee.

Does Odoo have a REST API?

+

Not a classic REST API with resource URLs. Odoo exposes its data through XML-RPC, JSON-RPC, and the new JSON-2 HTTP API added in Odoo 19, which all reach the same models and methods.

What is the difference between the Odoo API and an Odoo integration?

+

The API is the interface Odoo exposes for reading and writing data. An integration is the working connection you build with that API, such as syncing Shopify orders into Odoo.

How do I authenticate with the Odoo API?

+

The JSON-2 API uses an API key sent as a bearer token. The older XML-RPC and JSON-RPC services use a database name, user id, and password on each call instead.

Which Odoo plan do I need for API access?

+

External API access requires the Custom plan on Odoo's hosted options. It is not available on the One App Free or Standard plans. Self-hosted Community includes it.

Can I connect Odoo without coding?

+

Yes. App-store connectors and no-code tools like Zapier and Make can link Odoo to many apps without code. A custom API integration is needed only when those do not fit.

Ready to put this into action?

Talk to iVentureTeam about Odoo, AI automation, or custom development — get a free, no-obligation consultation.