Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Basetrip Cities Countries API
description: The Basetrip API provides travel intelligence data including country and city information, travel phrases, safety ratings, visa requirements, cost of living data, and health advisories. Designed to help travel platforms differentiate their products and improve traveler experiences.
version: 3.0.0
contact:
name: Basetrip Support
url: https://www.thebasetrip.com/en/documentation/v3
termsOfService: https://www.thebasetrip.com/en/terms
servers:
- url: https://api.thebasetrip.com/v3
description: Basetrip API v3
security:
- ApiKeyAuth: []
tags:
- name: Countries
paths:
/countries:
get:
operationId: listCountries
summary: List Countries
description: Get all countries with their names, slugs, and alpha-2 codes.
tags:
- Countries
responses:
'200':
description: List of countries
content:
application/json:
schema:
$ref: '#/components/schemas/CountryListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/countries/{id}:
get:
operationId: getCountry
summary: Get Country
description: Get detailed information for a specific country by slug or alpha-2 code.
tags:
- Countries
parameters:
- name: id
in: path
required: true
description: Country slug or alpha-2 code (e.g., "france" or "FR")
schema:
type: string
responses:
'200':
description: Country details
content:
application/json:
schema:
$ref: '#/components/schemas/CountryDetail'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
CountryDetail:
allOf:
- $ref: '#/components/schemas/Country'
- type: object
properties:
capital:
type: string
description: Capital city name
currency:
type: string
description: ISO 4217 currency code
languages:
type: array
items:
type: string
description: Official languages
population:
type: integer
description: Approximate population
timezone:
type: string
description: Primary timezone
callingCode:
type: string
description: International dialing code
Country:
type: object
properties:
name:
type: string
description: Country name in English
slug:
type: string
description: URL-friendly country slug
code:
type: string
description: ISO alpha-2 country code
continent:
type: string
description: Continent name
required:
- name
- slug
- code
ErrorResponse:
type: object
properties:
error:
type: string
message:
type: string
statusCode:
type: integer
CountryListResponse:
type: object
properties:
countries:
type: array
items:
$ref: '#/components/schemas/Country'
count:
type: integer
description: Total number of countries
responses:
Unauthorized:
description: Invalid or missing API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key