Accessing Corporate Private Fares

Overview

Corporate negotiated fares are specially discounted rates that airlines contract directly with large corporate clients. These fares typically offer reduced pricing, enhanced flexibility, and preferential terms for businesses that commit to specific travel volumes with an airline.
This guide explains how to access corporate negotiated fares through the Duffel API when searching for and booking flights.

Note

How corporate negotiated fares work

When searching for flights using the Duffel API, you can access corporate negotiated fares by adding specific identification codes to your offer request. These codes are passed through the private_fares object and allow the airline to identify the corporate client and apply their contracted rates.
Airlines assign unique identifiers for each corporate client to track access to negotiated rates. These typically include a corporate_code (identifying the agency or account) and a tour_code (identifying the specific corporate agreement).

Caution

Supported airlines and requirements

The following airlines are examples of supported corporate negotiated fares through the Duffel API. Each requires both a corporate_code and a tour_code to be submitted in the offer request:
AirlineIATA CodeRequired Parameters
American AirlinesAAcorporate_code, tour_code
United AirlinesUAcorporate_code, tour_code
Southwest AirlinesWNcorporate_code, tour_code
This is not a definitive list. If there are airlines missing that you need support for, please reach out to us — it's possible we already support them.
To access corporate negotiated fares, include the private_fares object in your offer request with the corporate_code and tour_code for the relevant airline. The key for each entry is the airline's IATA code.

Example: American Airlines

Shell

curl -X POST --compressed "https://api.duffel.com/air/offer_requests"
-H "Accept-Encoding: gzip"
-H "Accept: application/json"
-H "Content-Type: application/json"
-H "Duffel-Version: v2"
-H "Authorization: Bearer $YOUR_ACCESS_TOKEN"
-d '{
"data": {
"slices": [
{
"origin": "JFK",
"destination": "LAX",
"departure_date": "2025-09-15"
}
],
"passengers": [{ "type": "adult" }],
"private_fares": {
"AA": [
{
"corporate_code": "AACORP123",
"tour_code": "CODE12"
}
]
}
}
}'

Example: United Airlines

Shell

curl -X POST --compressed "https://api.duffel.com/air/offer_requests"
-H "Accept-Encoding: gzip"
-H "Accept: application/json"
-H "Content-Type: application/json"
-H "Duffel-Version: v2"
-H "Authorization: Bearer $YOUR_ACCESS_TOKEN"
-d '{
"data": {
"slices": [
{
"origin": "SFO",
"destination": "ORD",
"departure_date": "2025-09-15"
}
],
"passengers": [{ "type": "adult" }],
"private_fares": {
"UA": [
{
"corporate_code": "UACORP123",
"tour_code": "CODE12"
}
]
}
}
}'

Example: Southwest Airlines

Shell

curl -X POST --compressed "https://api.duffel.com/air/offer_requests"
-H "Accept-Encoding: gzip"
-H "Accept: application/json"
-H "Content-Type: application/json"
-H "Duffel-Version: v2"
-H "Authorization: Bearer $YOUR_ACCESS_TOKEN"
-d '{
"data": {
"slices": [
{
"origin": "DAL",
"destination": "HOU",
"departure_date": "2025-09-15"
}
],
"passengers": [{ "type": "adult" }],
"private_fares": {
"WN": [
{
"corporate_code": "WNCORP123",
"tour_code": "CODE12"
}
]
}
}
}'

Searching across multiple airlines

You can include corporate negotiated fare codes for multiple airlines in a single offer request. Simply add an entry for each airline under private_fares:

Shell

curl -X POST --compressed "https://api.duffel.com/air/offer_requests"
-H "Accept-Encoding: gzip"
-H "Accept: application/json"
-H "Content-Type: application/json"
-H "Duffel-Version: v2"
-H "Authorization: Bearer $YOUR_ACCESS_TOKEN"
-d '{
"data": {
"slices": [
{
"origin": "JFK",
"destination": "LAX",
"departure_date": "2025-09-15"
},
{
"origin": "LAX",
"destination": "JFK",
"departure_date": "2025-09-22"
}
],
"passengers": [{ "type": "adult" }],
"private_fares": {
"AA": [
{
"corporate_code": "AACORP123",
"tour_code": "CODE12"
}
],
"UA": [
{
"corporate_code": "UACORP123",
"tour_code": "CODE12"
}
]
}
}
}'

Checking if an offer includes corporate negotiated fares

When you receive offers back from your search, you can check whether they include corporate negotiated fare pricing by examining the private_fares property on each offer. If the offer has corporate fares applied, the private_fares list will contain an object with the corporate_code, tour_code, and a type of "corporate".

JSON

{
"id": "off_00009htYpSCXrwaB9DnUm0",
"slices": [...],
"private_fares": [
{
"corporate_code": "BNC01",
"tour_code": "99647881",
"type": "corporate"
}
]
}
If the private_fares list is empty on an offer, then corporate negotiated fares were not applied to that particular offer.

Caution

Learn more