Ktemia API

Ktemia API as documented publicly: 17 operations. Contract generated from the documentation by API Evangelist (2026-11-12); not the provider's own document.

GitHub OpenAPI

Operations 17

GET /cars/details GET /cars/details returns one car with provider booking URLs. #
GET /cars/locations GET /cars/locations returns pickup ids for car hire. #
GET /cars/results GET /cars/results returns a page of 20 car offers. #
POST /cars/search POST /cars/search starts a car search and returns a searchToken. #
GET /flights/airlines GET /flights/airlines returns 2‑character airline codes. #
GET /flights/airports GET /flights/airports returns airport and city codes. #
GET /flights/details GET /flights/details returns one itinerary with provider booking URLs. #
GET /flights/results GET /flights/results returns a page of 20 flight offers. #
POST /flights/search POST /flights/search starts a flight search and returns a searchToken. #
GET /hotels/details GET /hotels/details?token=&resultId= returns one hotel, including each provider booking URL and up to 5 recent reviews. #
GET /hotels/locations GET /hotels/locations returns place ids for hotels. #
GET /hotels/results GET /hotels/results returns a page of up to 30 hotel offers. #
GET /hotels/reviews GET /hotels/reviews?hotelId= pages guest reviews, 10 at a time. #
POST /hotels/search POST /hotels/search starts a hotel search and returns a searchToken. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ktemia:ktemia-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ktemia-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Ktemia API
  version: '2026-11-12'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-12: 17 operation(s) read from 7 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Ktemia has published no machine-readable contract that the pipeline
    could find. Engine: local.'
  x-evidence-tiers:
    code-example: 3
    documentation: 14
    pages-with-code: 6
    pages-read: 7
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-12'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://www.ktemia.com/docs/api/llms.txt
  - https://www.ktemia.com/docs/api/cars/search
  - https://www.ktemia.com/docs/api/cars/details
  - https://www.ktemia.com/docs/api/cars/results
  - https://www.ktemia.com/docs/api/hotels/search
  - https://www.ktemia.com/docs/api/cars/locations
  - https://www.ktemia.com/docs/api/flights/search
servers:
- url: https://api.ktemia.com
paths:
  /cars/details:
    get:
      operationId: get_cars_details
      tags:
      - Cars
      summary: GET /cars/details returns one car with provider booking URLs.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: token
        in: query
        required: true
        schema:
          type: string
        description: Search token.
      - name: resultId
        in: query
        required: true
        schema:
          type: string
        description: Identifier of the car result to retrieve.
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /cars/locations:
    get:
      operationId: get_cars_locations
      tags:
      - Cars
      summary: GET /cars/locations returns pickup ids for car hire.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
        description: Search term for location.
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /cars/results:
    get:
      operationId: get_cars_results
      tags:
      - Cars
      summary: GET /cars/results returns a page of 20 car offers.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: token
        in: query
        required: true
        schema:
          type: string
        description: Search token returned by /cars/search (or nextToken).
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /cars/search:
    get:
      operationId: get_cars_search
      tags:
      - Cars
      summary: GET /cars/search
      x-source: https://www.ktemia.com/docs/api/cars/search
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Node Python Go Java Ruby PHP Response Copy Search cars with cURL curl https://api.ktemia.com/cars/search  -H \" X-API-Key:\
          \ $KTEMIA_API_KEY \"  -H \" Content-Type: application/json \"  -d ' { \n \"pickupLocation\" : \"22863\" , \n \"dropoffLocation\" : null\
          \ , \n \"pickupDate\" : \"2026-12-05\" , \n \"dropoffDate\" : \"2026-12-12\" , \n \"pickupTime\" : \"12:00\" , \n \"dropoffTime\" :\
          \ \"12:00\" , \n \"driverAge\" : null , \n \"ca"
    post:
      operationId: post_cars_search
      tags:
      - Cars
      summary: POST /cars/search starts a car search and returns a searchToken.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCarsSearchRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /flights/airlines:
    get:
      operationId: get_flights_airlines
      tags:
      - Flights
      summary: GET /flights/airlines returns 2‑character airline codes.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
        description: Search term for airline code.
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /flights/airports:
    get:
      operationId: get_flights_airports
      tags:
      - Flights
      summary: GET /flights/airports returns airport and city codes.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
        description: Search term for airport or city code.
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /flights/details:
    get:
      operationId: get_flights_details
      tags:
      - Flights
      summary: GET /flights/details returns one itinerary with provider booking URLs.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: token
        in: query
        required: true
        schema:
          type: string
        description: Search token.
      - name: resultId
        in: query
        required: true
        schema:
          type: string
        description: Identifier of the flight result to retrieve.
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /flights/results:
    get:
      operationId: get_flights_results
      tags:
      - Flights
      summary: GET /flights/results returns a page of 20 flight offers.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: token
        in: query
        required: true
        schema:
          type: string
        description: Search token returned by /flights/search (or nextToken for subsequent pages).
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /flights/search:
    get:
      operationId: get_flights_search
      tags:
      - Flights
      summary: GET /flights/search
      x-source: https://www.ktemia.com/docs/api/flights/search
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Node Python Go Java Ruby PHP Response Copy Search flights with cURL curl https://api.ktemia.com/flights/search  -H \" X-API-Key:\
          \ $KTEMIA_API_KEY \"  -H \" Content-Type: application/json \"  -d ' { \n \"origin\" : \"JFK\" , \n \"destination\" : \"LAX\" , \n \"\
          departureDate\" : \"2026-12-03\" , \n \"returnDate\" : null , \n \"legs\" : null , \n \"cabin\" : \"economy\" , \n \"passengers\" :\
          \ { \n \"adults\" : 1 , \n \"seniors\" : 0 , "
    post:
      operationId: post_flights_search
      tags:
      - Flights
      summary: POST /flights/search starts a flight search and returns a searchToken.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostFlightsSearchRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /hotels/details:
    get:
      operationId: get_hotels_details
      tags:
      - Hotels
      summary: GET /hotels/details?token=&resultId= returns one hotel, including each provider booking URL and up to 5 recent reviews.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: token
        in: query
        required: true
        schema:
          type: string
        description: search token returned by the hotels search
      - name: resultId
        in: query
        required: true
        schema:
          type: string
        description: identifier of the hotel result to retrieve
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /hotels/locations:
    get:
      operationId: get_hotels_locations
      tags:
      - Hotels
      summary: GET /hotels/locations returns place ids for hotels.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
        description: Search term for hotel location.
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /hotels/results:
    get:
      operationId: get_hotels_results
      tags:
      - Hotels
      summary: GET /hotels/results returns a page of up to 30 hotel offers.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: token
        in: query
        required: true
        schema:
          type: string
        description: Search token returned by /hotels/search (or nextToken).
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /hotels/reviews:
    get:
      operationId: get_hotels_reviews
      tags:
      - Hotels
      summary: GET /hotels/reviews?hotelId= pages guest reviews, 10 at a time.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      parameters:
      - name: hotelId
        in: query
        required: true
        schema:
          type: string
        description: identifier of the hotel whose reviews are requested
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /hotels/search:
    get:
      operationId: get_hotels_search
      tags:
      - Hotels
      summary: GET /hotels/search
      x-source: https://www.ktemia.com/docs/api/hotels/search
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Node Python Go Java Ruby PHP Response Copy Search hotels with cURL curl https://api.ktemia.com/hotels/search  -H \" X-API-Key:\
          \ $KTEMIA_API_KEY \"  -H \" Content-Type: application/json \"  -d ' { \n \"location\" : \"29230\" , \n \"checkin\" : \"2026-12-05\"\
          \ , \n \"checkout\" : \"2026-12-07\" , \n \"adults\" : 2 , \n \"rooms\" : 1 , \n \"childAges\" : [ ] , \n \"minStars\" : null , \n \"\
          minRating\" : null , \n \"maxPrice\" : null "
    post:
      operationId: post_hotels_search
      tags:
      - Hotels
      summary: POST /hotels/search starts a hotel search and returns a searchToken.
      x-source: https://www.ktemia.com/docs/api/llms.txt
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostHotelsSearchRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    PostCarsSearchRequest:
      type: object
      properties:
        pickupLocation:
          type: string
          description: Location id of the pickup point.
        pickupDate:
          type: string
          description: Date and time of pickup (ISO 8601).
        dropoffDate:
          type: string
          description: Date and time of drop‑off (ISO 8601).
      required:
      - pickupLocation
      - pickupDate
      - dropoffDate
    PostFlightsSearchRequest:
      type: object
      properties:
        origin:
          type: string
          description: Airport or city code for departure.
        destination:
          type: string
          description: Airport or city code for arrival.
        departureDate:
          type: string
          description: Date of departure (YYYY‑MM‑DD).
        returnDate:
          type: string
          description: Date of return for round‑trip (YYYY‑MM‑DD).
        legs:
          type: array
          description: Array of leg objects for multi‑city trips (2‑6 legs).
      required:
      - origin
      - destination
      - departureDate
    PostHotelsSearchRequest:
      type: object
      properties:
        location:
          type: string
          description: Place id returned by /hotels/locations.
        checkin:
          type: string
          description: Check‑in date (YYYY‑MM‑DD).
        checkout:
          type: string
          description: Check‑out date (YYYY‑MM‑DD).
      required:
      - location
      - checkin
      - checkout
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
security:
- apiKey: []
tags:
- name: Cars
- name: Flights
- name: Hotels