Passport Rate API

The Rate API from Passport — 1 operation(s) for rate.

Business capability
Rating Engine Operations Management BC-2520.50

Operations 1

POST /rate Request a shipping rate including landed cost #

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/passport-rate-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

passport-rate-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Getting Started with Passport Global Rate API
  description: 'Introduction


    Passport Global''s API is designed to allow for quick integration to begin selling and shipping internationally.'
  version: '3.15'
  x-logo:
    url: PassportLogo.svg
    background: '#FAFAFA'
    altText: Logo Passport added via API Definition
servers:
- url: https://api-stg.passportshipping.com/v3
tags:
- name: Rate
paths:
  /rate:
    post:
      tags:
      - Rate
      summary: Request a shipping rate including landed cost
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Rate_Request'
        required: true
      responses:
        200:
          description: (OK) List of available rates for given shipment params
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rate_Response'
        400:
          description: Bad Request (See details in the examples)
          content:
            application/json:
              examples:
                MixedCurrency:
                  value:
                    message: 'Passport only accepts a single currency for items at a time. Currencies received: [''USD'', ''AED'', ''GBP'']'
        401:
          $ref: '#/components/responses/Unauthorized'
        404:
          $ref: '#/components/responses/NotFound'
        422:
          $ref: '#/components/responses/InvalidData'
        500:
          $ref: '#/components/responses/ServerError'
      operationId: postRate
      x-operation-id-source: derived
components:
  schemas:
    Rate_Request:
      type: object
      required:
      - address_to
      - address_from
      - parcel
      - items
      properties:
        reference:
          type: string
          description: The ID you are using for identifying the order for which you are requesting the rate, optional but strongly encouraged
          example: shipmentref
        address_to:
          type: object
          required:
          - street1
          - country
          properties:
            reference:
              type: string
              example: To address 1
            street1:
              type: string
              description: Must contain a street number.
              maxLength: 40
              example: 111 Broadway Ave.
            street2:
              type: string
              maxLength: 40
              example: Floor 7
            city:
              type: string
              maxLength: 32
              example: London
            state:
              type: string
              maxLength: 100
              example: ''
              description: Required for most destination countries. Optional but strongly encouraged to ensure smooth delivery.
            zip:
              type: string
              example: B33 8TH
            country:
              type: string
              example: GB
              description: Use 2-letter ISO country code
              externalDocs:
                url: http://www.worlddata.info/countrycodes.php
            name:
              type: string
              maxLength: 100
              example: John Smith
            company:
              type: string
              maxLength: 100
              example: Company Inc
            phone:
              type: string
              maxLength: 100
              example: 518-111-1111
              description: Optional but strongly encouraged to ensure smooth delivery.
            email:
              type: string
              maxLength: 100
              example: js-myth@example.com
              description: Optional but strongly encouraged to ensure smooth delivery.
        address_from:
          type: object
          required:
          - street1
          - country
          - company
          properties:
            reference:
              type: string
              maxLength: 100
              example: From address 1
            street1:
              type: string
              maxLength: 40
              example: 111 sunset blvd.
            street2:
              type: string
              maxLength: 40
              example: null
            city:
              type: string
              maxLength: 32
              example: Los angeles
            state:
              type: string
              maxLength: 100
              example: CA
              description: Required for most destination countries. Optional but strongly encouraged to ensure smooth delivery.
            zip:
              type: string
              example: '90111'
            country:
              type: string
              example: US
              description: Use 2-letter ISO country code
              externalDocs:
                url: http://www.worlddata.info/countrycodes.php
            name:
              type: string
              maxLength: 100
              example: Allison Fox
            company:
              type: string
              maxLength: 100
              example: Lululemon
            phone:
              type: string
              maxLength: 100
              example: 518-111-1111
              description: Optional but strongly encouraged to ensure smooth delivery.
            email:
              type: string
              maxLength: 100
              example: js-myth@example.com
              description: Optional but strongly encouraged to ensure smooth delivery.
        parcel:
          type: object
          required:
          - length
          - width
          - height
          properties:
            reference:
              type: string
              example: Parcel ID
            length:
              type: number
              example: 10.5
            units_length:
              type: string
              enum:
              - in
              - ft
              - mm
              - cm
              - m
              default: in
              example: in
            width:
              type: number
              description: 'Units: “in”.'
              example: 5.2
            height:
              type: number
              description: 'Units: “in”.'
              example: 1.1
            weight:
              type: number
              example: 100.15
              description: Total weight of the parcel including all items and packaging
              exclusiveMinimum: 0
            units_weight:
              type: string
              enum:
              - oz
              - lb
              - mcg
              - mg
              - g
              - kg
              default: oz
              example: oz
        items:
          type: array
          items:
            type: object
            required:
            - description
            - quantity
            - value
            - weight
            properties:
              description:
                type: string
                maxLength: 255
                example: Black T-shirt
              hs_code:
                type: string
                example: '3304300000'
                minLength: 6
                maxLength: 12
                description: Required for most destination countries. Optional but strongly encouraged to ensure smooth delivery.
              sku:
                type: string
                maxLength: 100
                example: GEN12345
                description: Required for most destination countries
              quantity:
                type: number
                example: 2
              value:
                type: number
                example: 12.34
                description: Value is equivalent to total value of the items = (single item value) x quantity. In this example unit price is $6.17, $6.17 x 2 = $12.34. In other words, if you ship three T-shirts worth $10 each, quantity = 3, value = 30.
                exclusiveMinimum: 0
              weight:
                type: number
                example: 0.5
                description: 'Units: “oz”. <br> Weight is equivalent to total weight of the items = (single item weight) x quantity. In this example unit weight is 0.25 oz, 0.25 x 2 = 0.5. In other words, if you ship three T-shirts 3 oz each, you should put quantity = 3 and weight = 9.'
                exclusiveMinimum: 0
              units_weight:
                type: string
                enum:
                - oz
                - lb
                - mcg
                - mg
                - g
                - kg
                default: oz
                example: oz
              origin:
                type: string
                example: US
                description: Country of item origin. Use 2-letter ISO country code
                externalDocs:
                  url: http://www.worlddata.info/countrycodes.php
              currency:
                type: string
                default: USD
                example: USD
                description: Currency of item. Use 3-letter ISO currency code
                externalDocs:
                  url: https://www.worlddata.info/currencies/
        duty_paid:
          type: boolean
          example: true
          description: false = DDU (Delivery Duty Unpaid), true = DDP (Delivery Duty Paid), null will get back both DDU and DDP rates if available
        contents_type:
          type: string
          enum:
          - returned_goods
          - documents
          - gift
          - goods
          - merchandise
          - other
          - returnedgoods
          - sample
          default: merchandise
          example: merchandise
          description: Indication of the goods classification for customs
    Rate_Response:
      type: object
      properties:
        rate:
          type: number
        duty:
          type: number
        tax:
          type: number
        insurance:
          type: number
        currency:
          type: string
          description: Accepted values are three-letter ISO 4217 codes
        serviceName:
          type: string
          enum:
          - StandardDdu
          - StandardDduDelcon
          - PriorityDdu
          - PriorityDduDelcon
          - PriorityDdp
          - PriorityDdpDelcon
          - ExpeditedDdpDelcon
          - ExpressDdpDelcon
          - ExpeditedDduDelcon
          - epacketDdp
          - ExpressDdp
          - ExpressDduDelcon
          - GlobalPlus
      example:
        rate: 10.78
        duty: 0
        tax: 2.47
        insurance: 1.5
        currency: USD
        serviceName: PriorityDdpDelcon
  responses:
    NotFound:
      description: Sender's company not found in the list of authorized values, please, contact us if the company name is correct
    InvalidData:
      description: If data validation fails, an error description with HTTP status = 422 is returned.
    Unauthorized:
      description: (Unauthorized) Unable to access the requested resource, you don't have authorization, please check your API Key
    ServerError:
      description: Internal Server Error.