Hopper website screenshot

Hopper

Hopper is a Boston- and Montreal-based travel booking platform and B2B travel fintech provider serving more than 120 million travelers globally. Its consumer app aggregates flights, hotels, rental cars, and homes alongside proprietary price prediction and a family of "for any reason" fintech ancillaries — Price Freeze, Cancel For Any Reason (CFAR), Change For Any Reason, Leave For Any Reason, and Disruption Guarantee. Through its B2B division, Hopper Technology Solutions (HTS), the company licenses those same fintech ancillaries, agentic AI customer service (HTS Assist), white-label travel agency products (HTS Stays, HTS Cars, HTS Packages), and travel loyalty portals to airlines, banks, and travel providers. HTS exposes a documented OAuth2-secured REST API — the HTS Airline API v1.1 — for embedding CFAR and Disruption Guarantee contracts in airline booking flows, with OpenAPI-generated SDKs for Java, .NET, Angular, and iOS, plus a JavaScript SDK for hotel price-freeze integration.

Hopper publishes 5 APIs on the APIs.io network, including Analytics API, Authentication API, Cancel For Any Reason (CFAR) API, and 2 more. Tagged areas include Travel, Travel Fintech, Price Prediction, Cancel For Any Reason, and Disruption Guarantee.

Hopper’s developer surface includes authentication, GitHub presence, engineering blog, and 17 more developer resources.

25.0/100 emerging ▬ flat Agent 31/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessSelf serve
5 APIs
TravelTravel FintechPrice PredictionCancel For Any ReasonDisruption GuaranteePrice FreezeAirlinesHotelsCar RentalVacation RentalsAncillary RevenueB2BLoyaltyAgentic AI

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 25.0/100 · emerging
Contract Quality 14.3 / 25
Developer Ergonomics 2.6 / 20
Commercial Clarity 0.0 / 20
Operational Transparency 0.7 / 13
Governance 0.0 / 12
Discoverability 7.4 / 10
Agent readiness — 31/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 0 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/hopper-com: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 5

Individual APIs this provider publishes, each with its own machine-readable definition.

Hopper Analytics API

In order to measure and continuously improve HTS Ancillaries performance, specific events occurring during a customer session can be sent by the partner airlines using some dedi...

Hopper Authentication API

This API is authenticated with OAuth 2, Client Credentials grant.\ Clients should use their `client_id` and `client_secret` to obtain an `access_token`.\ The `access_token` shou...

Hopper Cancel For Any Reason (CFAR) API

**What is Cancel For Any Reason?** Cancel For Any Reason (CFAR) enables airlines to offer refundability as an ancillary with HTS powering the dynamic pricing and supporting the ...

Hopper Disruption Guarantee (DG) API

**What is Disruption Guarantee?** Disruption Guarantee (DG) offers a premium disruption assistance service to customers in case of flight disruption, including rebooking options...

Hopper Sessions API

Hopper uses a unique ID to correlate API calls and events produced by a user's interaction with an airline application. The duration of the user's interactions is called a "sess...

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Airline API

OPEN COLLECTION

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Hopper Com Authentication

apiKey/http · 2 schemes

SECURITY

Hopper Com Domain Security

TLSv1.3 · DNSSEC · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Hopper Com Agentic Access

23 operations · 18 acting

23 operations · 18 acting

AGENTIC

Resources

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Company 6

The organization behind the API

Other 9

Properties that don't map to a standard resource type

Scroll for all 9

Source (apis.yml)

apis.yml Raw ↑
aid: hopper-com
name: Hopper
description: Hopper is a Boston- and Montreal-based travel booking platform and B2B travel fintech provider serving more than
  120 million travelers globally. Its consumer app aggregates flights, hotels, rental cars, and homes alongside proprietary
  price prediction and a family of "for any reason" fintech ancillaries — Price Freeze, Cancel For Any Reason (CFAR), Change
  For Any Reason, Leave For Any Reason, and Disruption Guarantee. Through its B2B division, Hopper Technology Solutions (HTS),
  the company licenses those same fintech ancillaries, agentic AI customer service (HTS Assist), white-label travel agency
  products (HTS Stays, HTS Cars, HTS Packages), and travel loyalty portals to airlines, banks, and travel providers. HTS exposes
  a documented OAuth2-secured REST API — the HTS Airline API v1.1 — for embedding CFAR and Disruption Guarantee contracts
  in airline booking flows, with OpenAPI-generated SDKs for Java, .NET, Angular, and iOS, plus a JavaScript SDK for hotel
  price-freeze integration.
type: Index
accessModel:
  pricing: unknown
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Self-serve signup
  confidence: medium
  source:
  - authentication
  generated: '2026-07-22'
  method: derived
position: Provider
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/hopper-com.png
tags:
- Travel
- Travel Fintech
- Price Prediction
- Cancel For Any Reason
- Disruption Guarantee
- Price Freeze
- Airlines
- Hotels
- Car Rental
- Vacation Rentals
- Ancillary Revenue
- B2B
- Loyalty
- Agentic AI
url: https://raw.githubusercontent.com/api-evangelist/hopper-com/refs/heads/main/apis.yml
created: '2026-05-25'
modified: '2026-05-25'
specificationVersion: '0.20'
apis:
- aid: hopper-com:hopper-com-analytics-api
  name: Hopper Analytics API
  description: In order to measure and continuously improve HTS Ancillaries performance, specific events occurring during
    a customer session can be sent by the partner airlines using some dedicated endpoints.
  humanURL: https://github.com/hopper/hc-airlines-java
  baseURL: https://airlines-api.hopper.com/airline/v1.1
  tags:
  - Analytics
  properties:
  - type: OpenAPI
    url: openapi/hopper-com-analytics-api-openapi.yml
  - type: Documentation
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hts-airlines-dotnet
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-angular
- aid: hopper-com:hopper-com-authentication-api
  name: Hopper Authentication API
  description: 'This API is authenticated with OAuth 2, Client Credentials grant.\

    Clients should use their `client_id` and `client_secret` to obtain an `access_token`.\

    The `access_token` should be included in every request, as a `Bearer` token on an `Authorization` header.\

    Note that `access_token`s eventually expire, requiring a new token to be fetched.


    see [authentication](#tag/Authentication)'
  humanURL: https://github.com/hopper/hc-airlines-java
  baseURL: https://airlines-api.hopper.com/airline/v1.1
  tags:
  - Authentication
  properties:
  - type: OpenAPI
    url: openapi/hopper-com-authentication-api-openapi.yml
  - type: Documentation
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hts-airlines-dotnet
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-angular
- aid: hopper-com:hopper-com-cancel-for-any-reason-cfar-api
  name: Hopper Cancel For Any Reason (CFAR) API
  description: "**What is Cancel For Any Reason?**\n\nCancel For Any Reason (CFAR) enables airlines to offer refundability\
    \ as an ancillary with HTS powering the dynamic pricing and supporting the refund cost.\n\n****\n\n**How it works**\n\n\
    There are two distinct flows for CFAR:\n\n- The _purchase flow_, enabling customers to purchase the product within the\
    \ airline’s booking flow.\n- The _exercise flow_, enabling customers to cancel their booking and get a refund.\n\nFor\
    \ each of these flows, the first step is to [Create a Session](#operation/postSessions)\n\nBoth the purchase and the exercise\
    \ of CFAR should be tracked by the airline in the airline’s Passenger Name Record (PNR) according to the applicable industry\
    \ standards.\n\n****\n\n**Purchase flow**\n\nCFAR follows the industry standard of a two step purchase process.\n\n1.\
    \ Once the user is landing on the page displaying the CFAR offer, the airline will call the [Create CFAR Offers](#operation/postCfar_offers)\
    \ endpoint. CFAR Offers can be created at multiple granular levels. The request must include a description of the Itinerary\
    \ for which the offers are requested. The response will contain\n\n   - the price for the product (`premium`),\n   - the\
    \ refundable amount (`coverage`),\n   - the UTC date and time until when the cancellation can be requested (`contract_expiry_date_time`)\n\
    \   - and the description of the offer in the available languages (`contents`).\n\n2. If a user is attaching CFAR to his\
    \ booking, the airline will call the [Create CFAR Contract](#operation/postCfar_contracts) endpoint. The request must\
    \ include the selected `offer_id`(s) and a description of the Itinerary for which the contract is requested, which must\
    \ match the one of the Offer(s). At this stage, the CFAR Contract is only _created_. It will be confirmed once the customer\
    \ has made the payment, which can be done in two ways:\n\n    1. If the airline is the Merchant of Records (MoR), it will\
    \ capture the payment for the total\namount of the booking, including the CFAR fee amount. Upon a successful payment,\
    \ the airline will call the Update CFAR Contract Status endpoint to set the CFAR contract to _confirmed_. The airline\
    \ will track this purchase in its PNR following the industry standards that apply to ticketing or ticketless carriers.\n\
    \    2. If HTS is the Merchant of Records (MoR), the airline will capture the payment for the amount\nof the booking excluding\
    \ the CFAR fee, while HTS will capture the payment for the CFAR fee amount. Upon a successful payment of its portion,\
    \ the airline will call the Process CFAR Payment endpoint for HTS to capture the payment for the CFAR fee amount. Once\
    \ successful, the CFAR contract will be set to _confirmed_. The airline will track this purchase in its PNR.\nThe details\
    \ of a CFAR contract can be retrieved at any time through the Get a CFAR Contract endpoint.\n\n****\n\n**Exercise flow**\n\
    \nCFAR exercise follows a two step process.\n\n1. The user will request the exercise from the “Manage My Bookings” (MMB)\
    \ page of the airline, through a dedicated Call to action displayed based on the tracker added to the PNR at the time\
    \ of booking. Once the user is requesting the exercise, the airline will call the [Create CFAR Exercise](#operation/postCfar_contract_exercises)\
    \ endpoint to authorize the exercise. The request must include the Contract ID, the Itinerary at the time of the exercise\
    \ request and some optional information on the refund option that may be offered by the airline. If eligible to the exercise,\
    \ the response will contain the refundable amounts, both in cash and Future Travel Credit (FTC) if applicable.\n2. Once\
    \ the user has followed the steps of the refund portal and confirmed the cancellation request, HTS will make a call back\
    \ to the airline to launch the PNR update flow on the airline’s end. The actual PNR update flow depends on each airline’s\
    \ specifics and is not described here. Upon a successful update of the PNR, the airline will confirm the exercise to HTS\
    \ by calling the [Complete CFAR Exercise](#operation/putCfar_contract_exercisesIdMark_completed) endpoint."
  humanURL: https://github.com/hopper/hc-airlines-java
  baseURL: https://airlines-api.hopper.com/airline/v1.1
  tags:
  - Cancel For Any Reason (CFAR)
  properties:
  - type: OpenAPI
    url: openapi/hopper-com-cancel-for-any-reason-cfar-api-openapi.yml
  - type: Documentation
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hts-airlines-dotnet
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-angular
- aid: hopper-com:hopper-com-disruption-guarantee-dg-api
  name: Hopper Disruption Guarantee (DG) API
  description: "**What is Disruption Guarantee?**\n\nDisruption Guarantee (DG) offers a premium disruption assistance service\
    \ to customers in case of flight disruption, including rebooking options on any airline or a refund option.\n\n****\n\n\
    **How it works**\n\nThere are two distinct flows for DG:\n\n- The _purchase flow_, enabling customers to purchase the\
    \ product within the airline’s booking flow.\n- The _exercise flow_, enabling customers to benefit from the premium disruption\
    \ assistance service in case of a flight disruption.\n\nFor the _purchase flow_, the first step is to [Create a Session](#operation/postSessions)\n\
    \nBoth the purchase and the exercise of DG should be tracked by the airline in the airline’s Passenger Name Record (PNR)\
    \ according to the applicable industry standards.\n\n****\n\n**Purchase flow**\n\nDG follows the industry standard of\
    \ a two step purchase process.\n\n1. Once the user is landing on the page displaying the DG offer, the airline will call\
    \ the [Create DG Offers](#operation/postDg_offers) endpoint. DG Offers can be created at multiple granular levels. The\
    \ request must include a description of the Itinerary for which the offers are requested. The response will contain\n\n\
    \   - the price for the product (`premium`),\n   - the refundable amount (`coverage`),\n   - the maximum price per passenger\
    \ for a new flight (`service_cap`),\n   - the delay threshold to trigger the policy (`min_minuted_delay`),\n   - the start\
    \ of the timeframe to trigger the policy (`max_hours_before_departure`)\n   - and the description of the offer in the\
    \ user’s language (`contents`).\n\n2. If a user is attaching DG to his booking, the airline will call the [Create DG Contract](#operation/postDg_contracts)\
    \ endpoint. The request must include the selected offer\\_id(s) and a description of the Itinerary for which the contract\
    \ is requested, which must match the one of the Offer. At this stage, the DG Contract is only _created_. It will be confirmed\
    \ once the customer has made the payment, which can be done in two ways:\n\n   1. If the airline is the Merchant of Records\
    \ (MoR), it will capture the payment for the total amount of the booking, including the DG fee amount. Upon a successful\
    \ payment, the airline will call the Update DG Contract Status endpoint to set the DG contract to _confirmed_. The airline\
    \ will track this purchase in its PNR following the industry standards that apply to ticketing or ticketless carriers.\n\
    \   2. If HTS is the Merchant of Records (MoR), the airline will capture the payment for the amount of the booking excluding\
    \ the DG fee, while HTS will capture the payment for the DG fee amount. Upon a successful payment of its portion, the\
    \ airline will call the Process DG Payment endpoint for HTS to capture the payment for the DG fee amount. Once successful,\
    \ the DG contract will be set to _confirmed_. The airline will track this purchase in its PNR.\n   \nThe details of a\
    \ DG contract can be retrieved at any time through the [Get a DG Contract](#operation/getDg_contractsId) endpoint.\n\n\
    ****\n\n**Exercise flow**\n\nIn this version of the API, the DG exercise is powered by HTS as a standalone flow, without\
    \ any endpoint publicly exposed.\\\nIn a future version of the API, the DG exercise will be initialized from the “Manage\
    \ My Bookings” (MMB) page of the airline. New endpoints will be released to that purpose."
  humanURL: https://github.com/hopper/hc-airlines-java
  baseURL: https://airlines-api.hopper.com/airline/v1.1
  tags:
  - Disruption Guarantee (DG)
  properties:
  - type: OpenAPI
    url: openapi/hopper-com-disruption-guarantee-dg-api-openapi.yml
  - type: Documentation
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hts-airlines-dotnet
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-angular
- aid: hopper-com:hopper-com-sessions-api
  name: Hopper Sessions API
  description: "Hopper uses a unique ID to correlate API calls and events produced by a user's interaction with an airline\
    \ application.\nThe duration of the user's interactions is called a \"session\", and the correlation ID is called a `session_id`.\n\
    \nA session begins immediately before the airline’s first API call to Hopper, and the airline must call the Create a Session\
    \ endpoint at this time. \nA `session_id` is returned from this call; it must be included with each subsequent API call\
    \ via the `HC-Session-ID` header. \nNo airline action is required to end the session."
  humanURL: https://github.com/hopper/hc-airlines-java
  baseURL: https://airlines-api.hopper.com/airline/v1.1
  tags:
  - Sessions
  properties:
  - type: OpenAPI
    url: openapi/hopper-com-sessions-api-openapi.yml
  - type: Documentation
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-java
  - type: SDKs
    url: https://github.com/hopper/hts-airlines-dotnet
  - type: SDKs
    url: https://github.com/hopper/hc-airlines-angular
common:
- type: AgenticAccess
  url: agentic-access/hopper-com-agentic-access.yml
- type: DomainSecurity
  url: security/hopper-com-domain-security.yml
- type: Authentication
  url: authentication/hopper-com-authentication.yml
- type: Website
  url: https://www.hopper.com
- type: B2B
  url: https://hts.hopper.com
- type: Product
  url: https://hts.hopper.com/cancel-for-any-reason
- type: Product
  url: https://hts.hopper.com/disruption-assistance-for-any-reason
- type: Product
  url: https://hts.hopper.com/hts-stays
- type: Product
  url: https://hts.hopper.com/hts-cars
- type: Product
  url: https://hts.hopper.com/hts-packages
- type: Product
  url: https://hts.hopper.com/travel-loyalty-portals
- type: Product
  url: https://hts.hopper.com/hts-assist
- type: Company
  url: https://www.hopper.com/about
- type: Press
  url: https://www.hopper.com/press
- type: Careers
  url: https://www.hopper.com/careers
- type: Contact
  url: https://hts.hopper.com/contact
- type: GitHub
  url: https://github.com/hopper
- type: Twitter
  url: https://twitter.com/hopper
- type: LinkedIn
  url: https://www.linkedin.com/company/hopper
- url: https://hts.hopper.com/newsroom
  type: Blog
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com