openapi: 3.0.3
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:
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Invalid or missing API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
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
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
CountryListResponse:
type: object
properties:
countries:
type: array
items:
$ref: '#/components/schemas/Country'
count:
type: integer
description: Total number of countries
ErrorResponse:
type: object
properties:
error:
type: string
message:
type: string
statusCode:
type: integer
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key