Kpler LNG API

Direct Access REST API for the Kpler LNG platform - liquefied natural gas trades, cargo flows, vessels, port calls, and related market data for LNG supply chain monitoring. Same endpoint surface and authentication as the other commodity platforms, served from the api-lng.kpler.com host.

OpenAPI Specification

kpler-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Kpler Direct Access API
  version: '1.0'
  description: >-
    REST API for the Kpler commodities intelligence platform, giving programmatic
    access to the same trades, flows, and vessel data available in the Kpler
    terminal. The same Direct Access endpoint surface is served per commodity
    platform from four hosts - Liquids (api.kpler.com), LNG (api-lng.kpler.com),
    LPG (api-lpg.kpler.com), and Dry (api-dry.kpler.com).


    ACCESS MODEL - Kpler APIs are customer-gated. Documentation (Direct Access
    user guides at *.dev.kpler.com and the developer portal at
    developers.kpler.com) and the Python SDK are public, but calling the API
    requires client credentials issued with a commercial Kpler subscription.


    ENDPOINTS MODELED - x-endpoints-modeled: this document describes only the
    endpoints and parameters confirmed from Kpler's public Direct Access guides,
    the public Python SDK (python-sdk.dev.kpler.com), and Kpler's public Postman
    workspace, including the documented example request
    https://api-dry.kpler.com/v1/trades?size=6&columns=trade_id,vessel_name,start,end&fromZones=Europe&toZones=Asia.
    The full parameter and response surface is only visible to authenticated
    customers, so responses are modeled loosely and additional documented
    endpoint families (port calls, ship-to-ship transfers, storage, contracts,
    prices, outages, fleet metrics, congestion, inventories, refineries,
    products, installations, zones, players) are noted but not fully modeled
    here. Nothing in this document is fabricated beyond that abridgement.
  contact:
    name: Kpler Customer Success
    email: cs@kpler.com
    url: https://developers.kpler.com/
  x-access-model: customer-gated
  x-endpoints-modeled: true
externalDocs:
  description: Kpler Developer Portal
  url: https://developers.kpler.com/
servers:
- url: https://api.kpler.com
  description: Liquids platform (crude, CPP, DPP)
- url: https://api-lng.kpler.com
  description: LNG platform
- url: https://api-lpg.kpler.com
  description: LPG platform
- url: https://api-dry.kpler.com
  description: Dry platform (coal and dry bulk)
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Authentication
- name: Facts
  description: Trades, vessels, and other observed fact data.
- name: Aggregations
  description: Flows and other aggregated series.
paths:
  /login:
    post:
      operationId: login
      tags:
      - Authentication
      summary: Exchange Kpler client credentials for a bearer token
      description: >-
        Returns an authorization token used as a bearer pass for subsequent API
        requests. Basic Authentication with encoded credentials in the
        Authorization header is also supported directly on data endpoints,
        without calling /login.
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: Kpler account email.
                password:
                  type: string
                  description: Kpler account password.
              required:
              - email
              - password
      responses:
        '200':
          description: Authorization token issued.
          content:
            application/json:
              schema:
                type: object
                properties:
                  token:
                    type: string
        '401':
          description: Invalid credentials.
  /v1/trades:
    get:
      operationId: getTrades
      tags:
      - Facts
      summary: List trades
      description: >-
        Returns cargo trades observed on the platform, with selectable columns
        (for example trade_id, vessel_name, start, end) and origin/destination
        zone filters. Kpler recommends querying this endpoint no more than once
        per hour and running queries sequentially.
      parameters:
      - $ref: '#/components/parameters/columns'
      - $ref: '#/components/parameters/size'
      - $ref: '#/components/parameters/fromZones'
      - $ref: '#/components/parameters/toZones'
      - $ref: '#/components/parameters/startDate'
      - $ref: '#/components/parameters/endDate'
      - $ref: '#/components/parameters/products'
      responses:
        '200':
          $ref: '#/components/responses/TabularData'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/flows:
    get:
      operationId: getFlows
      tags:
      - Aggregations
      summary: Aggregated commodity flows
      description: >-
        Returns aggregated flows for a point of interest (installation or zone)
        on a daily, weekly, weekly EIA (US), monthly, or yearly basis. Documented
        SDK-level filters include flow direction, split, granularity, date range,
        from/to installations and zones, products, unit, intra-country and
        intra-region inclusion, forecasts, and vessel types.
      parameters:
      - $ref: '#/components/parameters/columns'
      - $ref: '#/components/parameters/size'
      - $ref: '#/components/parameters/fromZones'
      - $ref: '#/components/parameters/toZones'
      - $ref: '#/components/parameters/startDate'
      - $ref: '#/components/parameters/endDate'
      - $ref: '#/components/parameters/products'
      - name: granularity
        in: query
        description: Aggregation granularity (daily, weekly, monthly, yearly).
        schema:
          type: string
      - name: flowDirection
        in: query
        description: Direction of the flow relative to the point of interest (import/export).
        schema:
          type: string
      - name: split
        in: query
        description: Dimension to split the aggregation by (for example product, origin, destination).
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/TabularData'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/vessels:
    get:
      operationId: getVessels
      tags:
      - Facts
      summary: List vessels
      description: >-
        Returns vessel data for the platform fleet - vessel identity and
        characteristics as tracked by Kpler. Kpler recommends querying this
        endpoint no more than once per hour.
      parameters:
      - $ref: '#/components/parameters/columns'
      - $ref: '#/components/parameters/size'
      responses:
        '200':
          $ref: '#/components/responses/TabularData'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Encoded Kpler client credentials in the Authorization header.
    bearerAuth:
      type: http
      scheme: bearer
      description: Token obtained from the /login endpoint.
  parameters:
    columns:
      name: columns
      in: query
      description: Comma-separated list of columns to return (for example trade_id,vessel_name,start,end).
      schema:
        type: string
    size:
      name: size
      in: query
      description: Maximum number of rows to return.
      schema:
        type: integer
    fromZones:
      name: fromZones
      in: query
      description: Origin zone filter (for example Europe).
      schema:
        type: string
    toZones:
      name: toZones
      in: query
      description: Destination zone filter (for example Asia).
      schema:
        type: string
    startDate:
      name: startDate
      in: query
      description: Start of the date range.
      schema:
        type: string
        format: date
    endDate:
      name: endDate
      in: query
      description: End of the date range.
      schema:
        type: string
        format: date
    products:
      name: products
      in: query
      description: Product filter (for example crude, gasoline, LNG).
      schema:
        type: string
  responses:
    TabularData:
      description: >-
        Tabular result set. Responses are delivered as delimited tabular data
        (consumed as DataFrames by the official Python SDK); exact response
        schemas are documented in the customer-gated Direct Access guides.
      content:
        text/csv:
          schema:
            type: string
    Unauthorized:
      description: Missing or invalid Kpler client credentials.