Acquire / http · All operations
Read an OData feed
A variant of Fetch from the web
Read entities from an OData service, following its paging links.
Status
- In arcform
Not built yet
arcform does not do this yet. Its place on the roadmap
What other tools call it
Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).
Apache Hop (1)
OData inputread 2026-09-27Read entities from OData V2 and V4 service endpoints
Duckle (1)
ODataread 2026-09-25OData v4 source; a REST alias following @odata.nextLink
EasyMorph (1)
Import from ODataread 2026-09-27Read from Microsoft Graph or another OData version 3 or 4 provider
Talend (1)
tODataInputread 2026-09-27Read data from an OData web service
Background
Open Data Protocol (OData) is an open protocol for creating and consuming queryable, interoperable web service application programming interfaces (APIs).[1][2] OData lets web clients publish and edit resources, identified by Uniform Resource Locators (URLs), using simple Hypertext Transfer Protocol (HTTP) messages.[3][4] An OData service describes its data model in two fixed resources, a service document and a metadata document.[3]
When to use it
An OData service document lists the entity sets, functions and singletons that can be retrieved.[3] An OData metadata document describes the types, sets, functions and actions the service understands, and is available at the service root followed by $metadata.[3][1] Apache Hop's OData input transform can fill its field list from the service's $metadata endpoint, mapping integers, decimals, booleans and date and time types to Hop types.[5] Reach for an OData reader when a service publishes a metadata document: the columns and their types are declared there, rather than guessed from a sample of rows. (Meridian's view)
An OData response that holds only part of the items a request identifies must contain a next link for retrieving the next part, and the final part must not contain one.[3] OData clients must treat the URL of a next link as opaque, and must not append system query options to it.[3] A client can ask an OData service for a maximum page size, and the service may apply it or use a different page size of its own.[3] Follow next links exactly as given until none comes back, rather than building page addresses by hand. (Meridian's view)
OData query options are appended to a URL after a ? character, each a $-prefixed name and its value, and can filter, order, map or paginate data.[1] In Apache Hop's OData input transform, $top limits only how many entities the first request asks for, and later pages still follow the service's next link.[5] Do not count on $top to cap an OData read; check how the reading tool treats paging first. (Meridian's view)
The method
Microsoft initiated OData in 2007, and versions 1.0, 2.0 and 3.0 are released under the Microsoft Open Specification Promise.[1] Version 4.0 of OData was standardised at the Organization for the Advancement of Structured Information Standards (OASIS), with a release in March 2014.[1][6]
In the OData JavaScript Object Notation (JSON) format, the nextLink control information indicates that a response is only a subset of the requested collection, and holds a URL for the next subset.[7][8] In OData JSON payloads with an OData-Version header of 4.0, control information names are prefixed with @odata., and without such a header the odata. infix should be omitted.[7] Apache Hop's OData input transform follows @odata.nextLink in OData version 4 and __next in OData version 2, and keeps fetching until the service stops paging.[5] A reader meant to serve older OData services as well as current ones has to recognise both forms of next link. (Meridian's view)
Sources
- [1]Open Data Protocol - Wikipediasecondary source
- [2]Web API - Wikipediasecondary source
- [3]OData Version 4.01. Part 1: Protocolstandard
- [4]HTTP - Wikipediasecondary source
- [5]OData input | Apache Hopdocumentation
- [6]OASIS Open - Wikipediasecondary source
- [7]OData JSON Format Version 4.01standard
- [8]JSON - Wikipediasecondary source