• Mail us
  • Your Travel Tech Growth Starts Here — Book a Meeting Today
  • Call us
  • Chat with us

NDC

Unlock Real-Time Flight Pricing with Emirates NDC API – OfferPriceRQ Integration


Introduction

Emirates NDC (New Distribution Capability) is transforming the travel industry by enabling direct, real-time access to flight inventory, dynamic pricing, and ancillaries. For OTAs, travel startups, and corporate booking tools, integrating Emirates NDC API (including OfferPriceRQ) means faster bookings, richer content, and a competitive edge.

What is the Purpose of the API?

The Emirates Flights API (via OfferPriceRQ) allows:

  • Real-time flight search & pricing
  • Multi-airline booking capabilities
  • Seamless PNR generation & management
  • Access to fare rules & ancillaries (bags, seats, meals)

Key Features of Emirates Flight API

  1. Live Flight Search
    • Get instant availability & pricing.
  2. Multi-Cabin Booking
    • Economy, Business, First Class.
  3. Ancillary Services
    • Seat selection, baggage, meals.
  4. Automated Ticketing
    • Secure PNRs in seconds.

API Request Structure

The Emirates Flight API uses endpoints with XML payloads. Below is a sample OfferPriceRQ request:

1<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://farelogix.com/ns1" xmlns:t="http://farelogix.com/flx/t">
2 <SOAP-ENV:Header>
3 <t:TransactionControl>
4 <tc>
5 <app version="5.0.0" language="en-US">SOAP</app>
6 <iden u="{{user}}" p="{{agtpwd}}" pseudocity="{{pseudocity}}" agt="{{Agency}}" agtpwd="{{agtpwd}}" agy="382868xx"/>
7 <agent user="{{Agency}}"/>
8 <trace>EUA9_ek</trace>
9 <script engine="FLXDM" name="TravelandTours-ek-dispatch.flxdm"/>
10 </tc>
11 </t:TransactionControl>
12 </SOAP-ENV:Header>
13 <SOAP-ENV:Body>
14 <ns1:XXTransaction>
15 <REQ>
16 <OfferPriceRQ Version="17.2">
17 <Document id="document"/>
18 <Party>
19 <Sender>
20 <TravelAgencySender>
21 <PseudoCity>{{pseudocity}}</PseudoCity>
22 <AgencyID>{{Agency}}</AgencyID>
23 </TravelAgencySender>
24 </Sender>
25 </Party>
26 <Query> <!-- Offer details -->
27 <Offer OfferID="X49A58A85-BC6C-4D70-A698-1" Owner="EK" ResponseID="X49A58A85-BC6C-4D70-A698">
28 <OfferItem OfferItemID="X49A58A85-BC6C-4D70-A698-1-1">
29 <PassengerRefs>T1</PassengerRefs>
30 </OfferItem>
31 </Offer>
32 </Query>
33 <DataLists>
34 <PassengerList>
35 <Passenger PassengerID="T1">
36 <!-- passanger details -->
37 <PTC>ADT</PTC>
38 </Passenger>
39 </PassengerList>
40 </DataLists>
41 </OfferPriceRQ>
42 </REQ>
43 </ns1:XXTransaction>
44 </SOAP-ENV:Body>
45</SOAP-ENV:Envelope>
46


API Response Structure

1<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/1999/XMLSchema/" xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance/">
2 <SOAP-ENV:Header>
3 <t:Transaction xmlns:t="xxs">
4 <tc>
5 <pid>FLX DMServer TC1 (8800/3070) STG c55a</pid>
6 <tid>00E0FC7F-C486F5B0</tid>
7 <dt>2025-06-03T06:15:14</dt>
8 </tc>
9 </t:Transaction>
10 </SOAP-ENV:Header>
11 <SOAP-ENV:Body>
12 <ns1:XXTransactionResponse xmlns:ns1="xxs">
13 <RSP>
14 <OfferPriceRS Version="17.2" TransactionIdentifier="cbe304aede044f85b2d09e40998d8ff4">
15 <Document id="document"></Document>
16 <Success></Success>
17 <ShoppingResponseID>
18 <Owner>EK</Owner>
19 <ResponseID>PFC019EFA-7448-420E-8E5F</ResponseID>
20 </ShoppingResponseID>
21 <PricedOffer OfferID="PFC019EFA-7448-420E-8E5F9z4dp7k4qwfwt-1" Owner="EK">
22 <Parameters>
23 <TotalItemQuantity>1</TotalItemQuantity>
24 <PTC_Priced refs="PFC019EFA-7448-420E-8E5F9z4dp7k4qwfwt-1-1">
25 <Requested Quantity="1">ADT</Requested>
26 <Priced Quantity="1">ADT</Priced>
27 </PTC_Priced>
28 </Parameters>
29 <ValidatingCarrier>EK</ValidatingCarrier>
30 <TimeLimits>
31 <OfferExpiration DateTime="2025-06-03T06:35:14Z"></OfferExpiration>
32 <Payment DateTime="2025-06-30T01:05:00"></Payment>
33 <OtherLimits>
34 <OtherLimit>
35 <PriceGuaranteeTimeLimit></PriceGuaranteeTimeLimit>
36 <TicketByTimeLimit>
37 <TicketBy>2025-06-30T01:05:00</TicketBy>
38 </TicketByTimeLimit>
39 </OtherLimit>
40 </OtherLimits>
41 </TimeLimits>
42 <TotalPrice>
43 <DetailCurrencyPrice>
44 <Total Code="EUR">14466</Total>
45 </DetailCurrencyPrice>
46 </TotalPrice>
47 <Match>
48 <Application>Journey</Application>
49 <MatchResult>Full</MatchResult>
50 </Match>
51 <FlightsOverview>
52 <FlightRef ODRef="Iodx7pjyswuglc79" PriceClassRef="Ppcmqi6cvrzt4jje">Ifltx4xwsul2gx6i4</FlightRef>
53 </FlightsOverview>
54 <OfferItem OfferItemID="PFC019EFA-7448-420E-8E5F9z4dp7k4qwfwt-1-1" MandatoryInd="true">
55 <TotalPriceDetail>
56 <TotalAmount>
57 <DetailCurrencyPrice>
58 <Total Code="EUR">14466</Total>
59 </DetailCurrencyPrice>
60 </TotalAmount>
61 </TotalPriceDetail>
62 <Service ServiceID="Psvc26yxxrhuabd2t">
63 <PassengerRefs>T1</PassengerRefs>
64 <FlightRefs>Ifltx4xwsul2gx6i4</FlightRefs>
65 </Service>
66 <Service ServiceID="Psvc3a0osi38iyeqn">
67 <PassengerRefs>T1</PassengerRefs>
68 <ServiceDefinitionRef SegmentRefs="Isgm02006293e92d7">Psvcz2c3paeuh6one</ServiceDefinitionRef>
69 </Service>
70 <Service ServiceID="Psvco0a6sexh151w0">
71 <PassengerRefs>T1</PassengerRefs>
72 <ServiceDefinitionRef SegmentRefs="Isgm02006293e92d7">Psvctqhf2rcrsto5f</ServiceDefinitionRef>
73 </Service>
74 <Service ServiceID="Psvc7otda0oaidnb3">
75 <PassengerRefs>T1</PassengerRefs>
76 <ServiceDefinitionRef SegmentRefs="Isgm02006293e92d7">Psvc19j0z8ejl5imv</ServiceDefinitionRef>
77 </Service>
78 <Service ServiceID="Psvceqxx5ff858vhy">
79 <PassengerRefs>T1</PassengerRefs>
80 <ServiceDefinitionRef SegmentRefs="Isgm02006293e92d7">Psvcye0wmffum37aw</ServiceDefinitionRef>
81 </Service>
82 <Service ServiceID="Psvczjky0nlpzjibw">
83 <PassengerRefs>T1</PassengerRefs>
84 <ServiceDefinitionRef SegmentRefs="Isgm02006293e92d7">Psvchw7rr0ooccwic</ServiceDefinitionRef>
85 </Service>
86 <Service ServiceID="Psvcbq9du6sll1y5y">
87 <PassengerRefs>T1</PassengerRefs>
88 <ServiceDefinitionRef SegmentRefs="Isgm02006293e92d7">Psvcq93g0we2evkuo</ServiceDefinitionRef>
89 </Service>
90 <Service ServiceID="Psvc482jr1d7rl180">
91 <PassengerRefs>T1</PassengerRefs>
92 <ServiceDefinitionRef SegmentRefs="Isgm02006293e92d7">Psvcez1lzdyz6v6tr</ServiceDefinitionRef>
93 </Service>
94 <FareDetail>
95 <FareIndicatorCode>0</FareIndicatorCode>
96 <PassengerRefs>T1</PassengerRefs>
97 <Price>
98 <BaseAmount Code="EUR">6600</BaseAmount>
99 <FareFiledIn>
100 <BaseAmount Code="INR">6410</BaseAmount>
101 <ExchangeRate>0.010302</ExchangeRate>
102 </FareFiledIn>
103 <Surcharges>
104 <Surcharge>
105 <Total Code="EUR">191</Total>
106 <Breakdown>
107 <Fee>
108 <Amount Code="EUR">191</Amount>
109 <Designator>Q</Designator>
110 </Fee>
111 </Breakdown>
112 </Surcharge>
113 </Surcharges>
114 <Taxes>
115 <Total Code="EUR">7866</Total>
116 <Breakdown>
117 <Tax CollectionInd="true">
118 <Amount Code="EUR">330</Amount>
119 <TaxCode>K3</TaxCode>
120 <Description>Goods and Service Tax - Interim</Description>
121 </Tax>
122 <Tax CollectionInd="true">
123 <Amount Code="EUR">1248</Amount>
124 <TaxCode>P2</TaxCode>
125 <Description>Aviation Security Fee-India</Description>
126 </Tax>
127 <Tax CollectionInd="true">
128 <Amount Code="EUR">1448</Amount>
129 <TaxCode>IN</TaxCode>
130 <Description>India Inland Air Travel Tax</Description>
131 </Tax>
132 <Tax CollectionInd="true">
133 <Amount Code="EUR">120</Amount>
134 <TaxCode>ZR</TaxCode>
135 <Description>Intl Advanced Psgr Information Fee</Description>
136 </Tax>
137 <Tax CollectionInd="true">
138 <Amount Code="EUR">225</Amount>
139 <TaxCode>K3</TaxCode>
140 <Description>Goods and Service Tax - Interim</Description>
141 </Tax>
142 <Tax CollectionInd="true">
143 <Amount Code="EUR">4495</Amount>
144 <TaxCode>YQ</TaxCode>
145 <Description>Fuel Surcharge</Description>
146 </Tax>
147 </Breakdown>
148 </Taxes>
149 </Price>
150 <FareComponent>
151 <Price>
152 <BaseAmount Code="NUC">7563</BaseAmount>
153 <FareFiledIn>
154 <BaseAmount Code="INR">6219</BaseAmount>
155 <ExchangeRate>0.010302</ExchangeRate>
156 </FareFiledIn>
157 <Surcharges>
158 <Surcharge>
159 <Total Code="NUC">220</Total>
160 <Breakdown>
161 <Fee>
162 <Amount Code="NUC">220</Amount>
163 <Designator>Q</Designator>
164 </Fee>
165 </Breakdown>
166 </Surcharge>
167 </Surcharges>
168 <Taxes>
169 <Total Code="EUR">0</Total>
170 </Taxes>
171 </Price>
172 <FareBasis>
173 <FareBasisCode refs="Pfcp5aw2ghlrjqs24">
174 <Code>TDIOPIN1</Code>
175 </FareBasisCode>
176 <FareBasisCityPair>AMDDXBEK</FareBasisCityPair>
177 <RBD>T</RBD>
178 <CabinType>
179 <CabinTypeCode>Y</CabinTypeCode>
180 <CabinTypeName>ECONOMY</CabinTypeName>
181 </CabinType>
182 </FareBasis>
183 <FareRules>
184 <Penalty CancelFeeInd="true" ChangeFeeInd="true" RefundableInd="true">
185 <Details>
186 <Detail refs="PcncPFC019EFA-7448-420E-8E5FY">
187 <Type>Cancel</Type>
188 </Detail>
189 <Detail refs="PchgPFC019EFA-7448-420E-8E5FY">
190 <Type>Change</Type>
191 </Detail>
192 <Detail>
193 <Type>Cancel</Type>
194 <Application>2</Application>
195 <Amounts>
196 <Amount>
197 <CurrencyAmountValue Code="INR">5000</CurrencyAmountValue>
198 <AmountApplication>MAX</AmountApplication>
199 </Amount>
200 </Amounts>
201 </Detail>
202 <Detail>
203 <Type>Cancel</Type>
204 <Application>1</Application>
205 <Amounts>
206 <Amount>
207 <CurrencyAmountValue Code="INR">10000</CurrencyAmountValue>
208 <AmountApplication>MAX</AmountApplication>
209 </Amount>
210 </Amounts>
211 </Detail>
212 <Detail>
213 <Type>Change</Type>
214 <Application>2</Application>
215 <Amounts>
216 <Amount>
217 <CurrencyAmountValue Code="INR">3000</CurrencyAmountValue>
218 <AmountApplication>MAX</AmountApplication>
219 </Amount>
220 </Amounts>
221 </Detail>
222 <Detail>
223 <Type>Change</Type>
224 <Application>3</Application>
225 <Amounts>
226 <Amount>
227 <CurrencyAmountValue Code="INR">3000</CurrencyAmountValue>
228 <AmountApplication>MAX</AmountApplication>
229 </Amount>
230 </Amounts>
231 </Detail>
232 <Detail>
233 <Type>Change</Type>
234 <Application>1</Application>
235 <Amounts>
236 <Amount>
237 <CurrencyAmountValue Code="INR">6000</CurrencyAmountValue>
238 <AmountApplication>MAX</AmountApplication>
239 </Amount>
240 </Amounts>
241 </Detail>
242 </Details>
243 </Penalty>
244 <Ticketing>
245 <Endorsements>
246 <Endorsement>NON-END/SAVER</Endorsement>
247 <Endorsement>REWARD UPGDS ALLOWED</Endorsement>
248 </Endorsements>
249 </Ticketing>
250 </FareRules>
251 <PriceClassRef>Ppcmqi6cvrzt4jje</PriceClassRef>
252 <SegmentRefs ON_Point="AMD" OFF_Point="DXB">Isgm02006293e92d7</SegmentRefs>
253 </FareComponent>
254 <FlightMileage>
255 <Value>1097</Value>
256 <Application>Trip</Application>
257 </FlightMileage>
258 </FareDetail>
259 </OfferItem>
260 <BaggageAllowance>
261 <FlightRefs>Ifltx4xwsul2gx6i4</FlightRefs>
262 <PassengerRefs>T1</PassengerRefs>
263 <BaggageAllowanceRef>Pbga2le9esij228qs</BaggageAllowanceRef>
264 </BaggageAllowance>
265 <BaggageAllowance>
266 <FlightRefs>Ifltx4xwsul2gx6i4</FlightRefs>
267 <PassengerRefs>T1</PassengerRefs>
268 <BaggageAllowanceRef>Pcyofj84f0gfqdzd4</BaggageAllowanceRef>
269 </BaggageAllowance>
270 </PricedOffer>
271 <Commission>
272 <Amount Code="EUR">7</Amount>
273 </Commission>
274 <DataLists>
275 <PassengerList>
276 <Passenger PassengerID="T1">
277 <PTC>ADT</PTC>
278 </Passenger>
279 </PassengerList>
280 <BaggageAllowanceList>
281 <BaggageAllowance BaggageAllowanceID="Pbga2le9esij228qs">
282 <BaggageCategory>Checked</BaggageCategory>
283 <AllowanceDescription>
284 <ApplicableParty>Traveler</ApplicableParty>
285 <Descriptions>
286 <Description>
287 <Text>CHECKED ALLOWANCE</Text>
288 </Description>
289 </Descriptions>
290 </AllowanceDescription>
291 <WeightAllowance>
292 <ApplicableParty>Traveler</ApplicableParty>
293 <MaximumWeight>
294 <Value>25</Value>
295 <UOM>KG</UOM>
296 </MaximumWeight>
297 </WeightAllowance>
298 <BaggageDeterminingCarrier>
299 <AirlineID>EK</AirlineID>
300 </BaggageDeterminingCarrier>
301 </BaggageAllowance>
302 <BaggageAllowance BaggageAllowanceID="Pcyofj84f0gfqdzd4">
303 <BaggageCategory>CarryOn</BaggageCategory>
304 <AllowanceDescription>
305 <ApplicableParty>Traveler</ApplicableParty>
306 <Descriptions>
307 <Description>
308 <Text>CARRY7KG 15LB UPTO45LI 115LCM</Text>
309 </Description>
310 </Descriptions>
311 </AllowanceDescription>
312 <PieceAllowance>
313 <ApplicableParty>Traveler</ApplicableParty>
314 <TotalQuantity>1</TotalQuantity>
315 <PieceMeasurements Quantity="1"></PieceMeasurements>
316 </PieceAllowance>
317 <BaggageDeterminingCarrier>
318 <AirlineID>EK</AirlineID>
319 </BaggageDeterminingCarrier>
320 </BaggageAllowance>
321 </BaggageAllowanceList>
322 <FareList>
323 <FareGroup refs="Pfrk5aw2ghlrjqs24" ListKey="Pfcp5aw2ghlrjqs24">
324 <Fare>
325 <FareCode>70J</FareCode>
326 </Fare>
327 <FareBasisCode>
328 <Code>TDIOPIN1</Code>
329 </FareBasisCode>
330 </FareGroup>
331 </FareList>
332 <FlightSegmentList>
333 <FlightSegment SegmentKey="Isgm02006293e92d7" ConnectInd="false">
334 <Departure>
335 <AirportCode>AMD</AirportCode>
336 <Date>2025-06-30</Date>
337 <Time>04:35</Time>
338 <AirportName>Ahmedabad, IN</AirportName>
339 <Terminal>
340 <Name>2</Name>
341 </Terminal>
342 </Departure>
343 <Arrival>
344 <AirportCode>DXB</AirportCode>
345 <Date>2025-06-30</Date>
346 <Time>06:10</Time>
347 <ChangeOfDay>0</ChangeOfDay>
348 <AirportName>Dubai International, AE</AirportName>
349 <Terminal>
350 <Name>3</Name>
351 </Terminal>
352 </Arrival>
353 <MarketingCarrier>
354 <AirlineID>EK</AirlineID>
355 <Name>Emirates</Name>
356 <FlightNumber>539</FlightNumber>
357 </MarketingCarrier>
358 <OperatingCarrier>
359 <AirlineID>EK</AirlineID>
360 <Name>Emirates</Name>
361 </OperatingCarrier>
362 <Equipment>
363 <AircraftCode>359</AircraftCode>
364 <Name>Airbus A350-900</Name>
365 </Equipment>
366 <FlightDetail>
367 <FlightDistance>
368 <Value>1097</Value>
369 <UOM>Miles</UOM>
370 </FlightDistance>
371 <FlightDuration>
372 <Value>PT03H05M</Value>
373 </FlightDuration>
374 </FlightDetail>
375 </FlightSegment>
376 </FlightSegmentList>
377 <FlightList>
378 <Flight FlightKey="Ifltx4xwsul2gx6i4">
379 <Journey>
380 <Time>PT03H05M</Time>
381 </Journey>
382 <SegmentReferences OnPoint="AMD" OffPoint="DXB">Isgm02006293e92d7</SegmentReferences>
383 </Flight>
384 </FlightList>
385 <OriginDestinationList>
386 <OriginDestination OriginDestinationKey="Iodx7pjyswuglc79">
387 <DepartureCode>AMD</DepartureCode>
388 <ArrivalCode>DXB</ArrivalCode>
389 <FlightReferences OnPoint="AMD" OffPoint="DXB">Ifltx4xwsul2gx6i4</FlightReferences>
390 </OriginDestination>
391 </OriginDestinationList>
392 <PriceClassList>
393 <PriceClass PriceClassID="Ppcmqi6cvrzt4jje">
394 <Name>Economy Saver</Name>
395 <Code>YP</Code>
396 <Descriptions>
397 <Description>
398 <OriginDestinationReference>Iodx7pjyswuglc79</OriginDestinationReference>
399 </Description>
400 </Descriptions>
401 </PriceClass>
402 </PriceClassList>
403 </DataLists>
404 </OfferPriceRS>
405 </RSP>
406 </ns1:XXTransactionResponse>
407 </SOAP-ENV:Body>
408</SOAP-ENV:Envelope>
409

Use Cases of Emirates Flight API

  1. B2C Travel Portals
    • Integrate live Emirates flights.
  2. Corporate Booking Tools
    • Streamline business travel.
  3. Meta-Search Engines
    • Compare Emirates fares in real-time.

Best Practices for Integration

✅ Use Sandbox Testing before going live.

Cache frequent searches to reduce API calls.

✅ Follow Emirates API documentation for compliance.

✅ Handle errors gracefully (e.g., no availability).

Conclusion

By integrating Emirates NDC API (OfferPriceRQ), travel businesses gain real-time flight data, higher conversions, and richer customer experiences.

Supercharge Your Travel Operations with Seamless Tech, Don’t Wait - Contact Us Today and Let’s Make It Happen!

0