Introduction
FX-Port is a unified travel API for flights, hotels, eSIMs and more: one integration, many suppliers, best available prices.
FX-Port is a unified travel API. One integration gives you flights, hotels, eSIMs, and more, sourced across many suppliers and returned with the best available prices — no per-supplier code.
More products are on the way.
Get API access in minutes
There is no approval queue, no agreement to sign, and no deposit required to start building: the sandbox is self-serve from day one. (Live keys work once your agency is approved.)
Create an account — sign up at fx-port.com/register. Takes about a minute.
Generate your API keys — open the API page in your dashboard and create a key. Start with a sandbox key (
fxp_test_) to build and test for free.Start building — your first search call works immediately. See the quick start below.
Base URL
https://api.fx-port.comAll paths are prefixed with /. One URL for all environments — live vs sandbox is
determined by your API key prefix (fxp_live_ or fxp_test_).
Where to start
Quick start (flights, in 3 calls)
Search —
POST /. Offers are inapi/ v1/ get_flights suppliers[].results.offers[]. Save thesearchIdof the supplier entry and theidof the offer.Price —
POST /with thatapi/ v1/ flights/ price_flight search_idandoffer_id. Required before booking.Book —
POST /withapi/ v1/ flights/ book_flight booking_type: "issue", the passengers, and contact details. Tickets are issued immediately.
# 1. Search
curl --request POST \
--url https://api.fx-port.com/api/v1/get_flights \
--header 'Authorization: Bearer fxp_test_YOUR_KEY' \
--header 'Content-Type: application/json' \
--data '{
"origin": "ALG",
"destination": "CDG",
"departure_date": "2026-12-15",
"cabin_class": "economy",
"passengers": {
"adults": 1
}
}'Continue with the Quickstart (a complete, tested program) and the full Flight booking flow →
Quick start (eSIMs, in 3 calls)
List packages —
GET /. Save a packageapi/ v1/ esims/ packages?country=france id(also returned aspackage_id).Create the order —
POST /with thatapi/ v1/ esims/ orders package_idplus the traveler'semailandphone(both required — the traveler receives the QR code and setup instructions by email). Returns the eSIMiccidimmediately (data.iccid, alsodata.sim.iccid).Top up later —
GET /to see what's available for that exact eSIM, thenapi/ v1/ esims/ topup-packages/ {iccid} POST /with one of the returned package IDs.api/ v1/ esims/ topups
# 1. List packages
curl --request GET \
--url 'https://api.fx-port.com/api/v1/esims/packages?country=france' \
--header 'Authorization: Bearer fxp_test_YOUR_KEY'Continue with the full eSIMs overview →
Built with AI tools?
Point your AI coding assistant at these machine-readable files for accurate, up-to-date context:
| URL | Content |
|---|---|
/ | Page index — titles, URLs, descriptions (lightweight) |
/ | Full documentation text |
/ | OpenAPI 3.1 description of every endpoint |
<page>.md | Any page as Markdown, for example / |
See Use these docs with AI for a ready-to-paste prompt and how to build an agent on the API.
Contact
Questions, feedback, or issues? Email the developer team at [email protected]. Get your API keys at fx-port.com/dashboard/api.