The Odoo API is what lets other software talk to Odoo. For a business connecting Odoo to its wider toolkit, or a developer building an integration, understanding the API is essential. This piece explains what the Odoo API is and what it makes possible.
What an API is, briefly
An API, an application programming interface, is a defined way for one piece of software to talk to another. It is the door through which an external program can ask a system to do something or to hand over information. The Odoo API is that door for Odoo: it is how software that is not Odoo can read from and write to Odoo programmatically.
What the Odoo API lets you do
The Odoo API gives external software programmatic access to Odoo's data and operations. Through it, another system can read information out of Odoo, retrieve customers, orders, products, stock, almost anything Odoo holds. It can create records in Odoo, a new order, a new contact. It can update existing records, and it can trigger Odoo's operations. In effect, the API lets an external program do, in code, the kinds of things a user could do through Odoo's screens. This is what makes Odoo connectable rather than sealed off.
Why the API matters
Most businesses do not run on one piece of software. Even a business that runs Odoo broadly will have other systems: a specialist tool, an e-commerce platform on a different stack, a partner's system, an industry-specific application. For those to work together rather than as islands, they have to exchange data, and the Odoo API is what makes that exchange possible. Without an API, connecting Odoo to anything else would mean people copying data between systems by hand. With it, the systems can be made to talk. The API is the foundation of every Odoo integration.
How the Odoo API works
Odoo's external API works over established protocols, namely XML-RPC and JSON-RPC. These are well-understood, widely supported ways for programs to call across a network. An external program connects to Odoo using one of these protocols, identifies itself, and then makes calls: asking Odoo to find records, to create one, to update one, to run a method. Because the API is built on standard protocols, it can be used from essentially any programming language that can make such calls, which is most of them. A developer is not restricted to a particular language to integrate with Odoo.
It is worth knowing that in Odoo 19 the endpoints that provide this programmatic access are organised in a dedicated part of the system, and that Odoo continues to support these standard protocols so that existing integrations keep working.
Access and security
Because the API is a door into the business's data, it is governed by authentication and by Odoo's normal access rules. An external program must identify itself before it can do anything, and once connected, it can only do what the account it connects as is permitted to do. The API does not bypass Odoo's security; an integration sees and changes only what its credentials allow. This matters: opening an API does not mean opening the data to anyone, it means opening a controlled, authenticated, permission-governed channel.
The API and Odoo's connected nature
There is a worthwhile distinction here. Much of Odoo's value comes from its applications being connected inside Odoo, sales, inventory, manufacturing, accounting, sharing one model with no API needed between them, because they are one system. The API is about the boundary: connecting Odoo to software outside it. A business gets the internal connection for free by running on Odoo; the API is the tool for joining Odoo to the rest of its landscape.
The takeaway
The Odoo API is the programmatic interface that lets external software read from, write to, and operate Odoo. It works over standard protocols, XML-RPC and JSON-RPC, so it can be used from almost any language, and it is governed by authentication and Odoo's access rules. It is the foundation of every integration between Odoo and other systems. For how we approach Odoo, see our ERP practice.