Integration & DataGlossary

What Is OData (Open Data Protocol)?

Also known as: OData API, OData v4, OData service, $filter $expand

Definition

OData (Open Data Protocol) is an OASIS standard that adds a common query language and metadata model on top of REST. Clients use URL options such as $filter, $select and $expand to read and change data without a custom endpoint for each question.

OData (Open Data Protocol) Explained

A plain REST API usually exposes fixed endpoints, so every new filter or field means developer work. OData standardizes this. A service publishes a metadata document (the $metadata endpoint) that describes entities, properties and relations, and a client can ask for exactly what it needs using system query options in the URL.

The core options are $filter for conditions, $select to choose fields, $expand to include related entities, $orderby, $top and $skip for paging, and $count. A request such as /SalesOrders?$filter=Status eq 'Open'&$select=OrderNo,DueDate&$expand=Lines returns only open orders with their lines. Writes use standard HTTP verbs on the entity URLs.

OData is common in enterprise software. SAP S/4HANA and SAP Gateway expose business objects as OData services, Microsoft Dynamics 365 Finance and Business Central publish OData endpoints, and many reporting tools such as Power BI and Excel can read OData directly. Versions matter: v2 is common in older SAP services, while v4 adds features and cleaner JSON.

For AI and reporting use cases, OData is helpful because the metadata describes the model in machine-readable form. An agent can read $metadata, learn the entities and build valid queries instead of guessing. Limits still apply: server-side paging caps, throttling, and expensive $expand chains can slow large queries.

Why It Matters

  • It reduces the number of custom endpoints a team has to build and maintain for reporting and integration.
  • Standard tools such as Power BI and Excel can consume OData without code.
  • The $metadata document gives AI agents and developers an accurate map of the data model.
  • Poorly constrained queries can overload the ERP, so paging and filters need discipline.

In Practice

A planner wants open purchase order lines due this week from a Dynamics 365 Business Central tenant. A Power BI dataset calls the OData endpoint with a $filter on status and expected receipt date and a $select of five columns. The same query without $select pulled every field and took minutes, while the narrowed query returns in seconds and keeps the load on the ERP small.

Frequently Asked Questions

Is OData the same as REST?

OData is built on REST principles and HTTP, but adds a standard query syntax, metadata model and conventions. A REST API without these is not OData.

What does $expand do?

It includes related entities in the same response, such as the lines of an order, which avoids extra calls.

Which ERPs support OData?

SAP S/4HANA and SAP Gateway, Microsoft Dynamics 365 and Business Central, and several others expose OData. Support in other products varies.

Should I use OData for bulk data extraction?

For small to medium volumes yes. For very large loads a bulk export, database replication or an ETL tool is usually more efficient.

Working with OData (Open Data Protocol) in a live environment? Our engineers do this every day - and our AI agents automate most of it.