Komerce Destinations API

Destination and administrative-region lookup

Operations 7

GET /destination/domestic-destination Search domestic destination #
GET /destination/international-destination Search international destination #
GET /destination/province List provinces #
GET /destination/city/{province_id} List cities in a province #
GET /destination/district/{city_id} List districts in a city #
GET /destination/sub-district/{district_id} List subdistricts in a district #
GET /tariff/api/v1/destination/search Search destination #

Documentation

Specifications

Other Resources

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/komerce-destinations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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.

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

OpenAPI Specification

komerce-destinations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Komerce Destinations API
  version: v1
  x-apievangelist-generated: '2026-07-19'
  x-apievangelist-method: generated
  x-refined-note:
  - x-apievangelist-source differs across the merged source definitions and was not carried
  description: 'Operations tagged Destinations across 2 of this provider''s published API definitions: komerce-shipping-cost-openapi.yml, komerce-shipping-delivery-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://rajaongkir.komerce.id/api/v1
  description: Live environment
- url: https://api.collaborator.komerce.id
  description: Production environment
- url: https://api-sandbox.collaborator.komerce.id
  description: Sandbox environment
security:
- ApiKeyAuth: []
tags:
- name: Destinations
  description: Destination and administrative-region lookup
paths:
  /destination/domestic-destination:
    get:
      operationId: searchDomesticDestination
      tags:
      - Destinations
      summary: Search domestic destination
      description: Search Indonesian destinations by city, district, subdistrict or zip code. Returns the destination id used by the cost endpoints.
      parameters:
      - name: search
        in: query
        required: true
        description: Search keyword — city, district, subdistrict name, or postal code.
        schema:
          type: string
        example: jakarta
      - name: limit
        in: query
        required: false
        description: Maximum number of rows returned by the query.
        schema:
          type: integer
        example: 5
      - name: offset
        in: query
        required: false
        description: Row offset, used with limit to page results.
        schema:
          type: integer
        example: 0
      responses:
        '200':
          description: Matching domestic destinations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomesticDestinationList'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Meta'
    servers:
    - url: https://rajaongkir.komerce.id/api/v1
      description: Live environment
  /destination/international-destination:
    get:
      operationId: searchInternationalDestination
      tags:
      - Destinations
      summary: Search international destination
      description: Search worldwide destinations and return the destination id used by the international cost endpoint.
      parameters:
      - name: search
        in: query
        required: true
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Matching international destinations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternationalDestinationList'
        '401':
          description: Missing or invalid API key
    servers:
    - url: https://rajaongkir.komerce.id/api/v1
      description: Live environment
  /destination/province:
    get:
      operationId: listProvinces
      tags:
      - Destinations
      summary: List provinces
      description: Retrieve the list of Indonesian provinces for form-based (cascading) destination selection.
      responses:
        '200':
          description: Province list
        '401':
          description: Missing or invalid API key
    servers:
    - url: https://rajaongkir.komerce.id/api/v1
      description: Live environment
  /destination/city/{province_id}:
    get:
      operationId: listCities
      tags:
      - Destinations
      summary: List cities in a province
      parameters:
      - name: province_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: City list
        '401':
          description: Missing or invalid API key
    servers:
    - url: https://rajaongkir.komerce.id/api/v1
      description: Live environment
  /destination/district/{city_id}:
    get:
      operationId: listDistricts
      tags:
      - Destinations
      summary: List districts in a city
      parameters:
      - name: city_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: District list
        '401':
          description: Missing or invalid API key
    servers:
    - url: https://rajaongkir.komerce.id/api/v1
      description: Live environment
  /destination/sub-district/{district_id}:
    get:
      operationId: listSubdistricts
      tags:
      - Destinations
      summary: List subdistricts in a district
      parameters:
      - name: district_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Subdistrict list
        '401':
          description: Missing or invalid API key
    servers:
    - url: https://rajaongkir.komerce.id/api/v1
      description: Live environment
  /tariff/api/v1/destination/search:
    get:
      operationId: searchDeliveryDestination
      tags:
      - Destinations
      summary: Search destination
      description: Search cities, districts, subdistricts and postal codes and return the region id used as shipper_destination_id / receiver_destination_id.
      parameters:
      - name: keyword
        in: query
        required: true
        description: Subdistrict name or zip code to search for.
        schema:
          type: string
        example: '53131'
      responses:
        '200':
          description: Matching destinations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DestinationList'
        '401':
          description: Missing or invalid API key
    servers:
    - url: https://api.collaborator.komerce.id
      description: Production environment
    - url: https://api-sandbox.collaborator.komerce.id
      description: Sandbox environment
components:
  schemas:
    DomesticDestinationList:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Meta'
        data:
          type: array
          items:
            $ref: '#/components/schemas/DomesticDestination'
    InternationalDestinationList:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Meta'
        data:
          type: array
          items:
            type: object
    Meta:
      type: object
      properties:
        message:
          type: string
        code:
          type: integer
        status:
          type: string
    DomesticDestination:
      type: object
      properties:
        id:
          type: integer
          description: Destination id used as origin/destination in cost calculation.
        label:
          type: string
          description: Full formatted delivery location.
        province_name:
          type: string
        city_name:
          type: string
        district_name:
          type: string
        subdistrict_name:
          type: string
        zip_code:
          type: string
    Destination:
      type: object
      properties:
        id:
          type: integer
        label:
          type: string
        subdistrict_name:
          type: string
        district_name:
          type: string
        city_name:
          type: string
        zip_code:
          type: string
    DestinationList:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Meta'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Destination'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: key
      description: Shipping Cost API key from the Collaborator dashboard (Developer -> Settings -> Api Key).
x-refined-from:
- komerce-shipping-cost-openapi.yml
- komerce-shipping-delivery-openapi.yml