API documentation

Services in one place

All service endpoints use v1 and return JSON by default. Send Accept: text/html to view the same response as a browser-friendly page. Replace <your-api-host> in the examples with this API host. View your available services and limits in the usage overview.

Authentication

API key required

All service endpoints below require an API key. Send it in the X-API-Key header. If the key is linked to a user, also send X-API-User.

X-API-Key: <api-key>
X-API-User: <api-user>

Browser-friendly option

Query parameters

You may instead pass apikey and optional apiuser query parameters. This is useful for the usage page, but use headers for server-to-server requests so keys do not end up in URLs or logs.

?apikey=<api-key>&apiuser=<api-user>

Request format

JSON bodies, no cookies

POST endpoints expect Content-Type: application/json. Authentication does not read browser cookies; requests are authorized only with the headers or query parameters above.

Content-Type: application/json

Countries & regions

v1.8.7

Localized country and region names, codes, and relationships.

  • GET /v1/countries/:localeCountry names in the requested locale.

    Parameters and format `locale` is a two-letter language code, for example `en` or `lt`.

    Request

    curl 'https://<your-api-host>/v1/countries/en' \
      -H 'X-API-Key: <api-key>'

    Response

    {
      "lt": "Lithuania",
      "lv": "Latvia"
    }
  • GET /v1/countries/codesCountry code lookup.

    Parameters and format No path, query, or body parameters.

    Request

    curl 'https://<your-api-host>/v1/countries/codes' \
      -H 'X-API-Key: <api-key>'

    Response

    {
      "lithuania": "lt",
      "latvia": "lv"
    }
  • GET /v1/countries/regionsRegion-to-country mapping.

    Parameters and format No path, query, or body parameters.

    Request

    curl 'https://<your-api-host>/v1/countries/regions' \
      -H 'X-API-Key: <api-key>'

    Response

    {
      "eu": [
        "lt",
        "pl"
      ]
    }
  • GET /v1/regions/:localeRegion names in the requested locale.

    Parameters and format `locale` is a two-letter language code, for example `en` or `lt`.

    Request

    curl 'https://<your-api-host>/v1/regions/en' \
      -H 'X-API-Key: <api-key>'

    Response

    {
      "euro": "Euro",
      "eu": "European Union"
    }
  • GET /v1/regions/treeHierarchical region tree.

    Parameters and format No path, query, or body parameters.

    Request

    curl 'https://<your-api-host>/v1/regions/tree' \
      -H 'X-API-Key: <api-key>'

    Response

    {
      "eu": [
        "lt",
        "pl",
        "de"
      ]
    }

Currencies

v1.8.7

Currency rates in euros and grams.

  • GET /v1/currencies/:symbolRate for one ISO currency symbol.

    Parameters and format `symbol` is a three-letter ISO 4217 code, for example `USD`. `EUR` returns `1`.

    Request

    curl 'https://<your-api-host>/v1/currencies/USD' \
      -H 'X-API-Key: <api-key>'

    Response

    1.0842

Marks

v1.8.7

Private URL marks associated with an API key.

  • GET /v1/marksSaved marks for the current API key.

    Parameters and format Optional `q` query parameter filters URLs. Use `q=*` to return all marks.

    Request

    curl --get 'https://<your-api-host>/v1/marks' --data-urlencode 'q=example.com' -H 'X-API-Key: <api-key>'

    Response

    {
      "https://example.com": [
        "watch",
        "later"
      ]
    }
  • POST /v1/marks/setCreate or replace marks for a URL.

    Parameters and format JSON body with `marks`: an object or an array of objects mapping each URL to a numeric mark. A zero value removes that URL.

    Request

    curl 'https://<your-api-host>/v1/marks/set' -X POST -H 'Content-Type: application/json' -H 'X-API-Key: <api-key>' --data '{"marks":{"https://example.com":2}}'

    JSON body

    {
      "marks": {
        "https://example.com": 2
      }
    }

    Response

    {
      "ok": true,
      "updatedAt": "2026-09-19T07:07:22.546Z"
    }
  • POST /v1/marks/removeRemove marks from a URL.

    Parameters and format JSON body with `marks`: an array of URLs to remove.

    Request

    curl 'https://<your-api-host>/v1/marks/remove' -X POST -H 'Content-Type: application/json' -H 'X-API-Key: <api-key>' --data '{"marks":["https://example.com"]}'

    JSON body

    {
      "marks": [
        "https://example.com"
      ]
    }

    Response

    {
      "ok": true,
      "updatedAt": "2026-09-19T07:07:22.546Z"
    }

Shipping

v1.8.7

Shipping prices and PayPal fee calculations.

  • GET /v1/shipping/:country/:weightPrices by country and weight in grams.

    Parameters and format `country` is a two-letter country code; `weight` is a positive integer in grams.

    Request

    curl 'https://<your-api-host>/v1/shipping/LT/500' \
      -H 'X-API-Key: <api-key>'

    Response

    [
      {
        "provider": "omniva",
        "price": 3.49,
        "currency": "EUR"
      }
    ]
  • GET /v1/shipping/paypal/:countryFixed and percentage PayPal fees.

    Parameters and format `country` is optional and accepts a country name or code. Without it, the default group is used.

    Request

    curl 'https://<your-api-host>/v1/shipping/paypal/lithuania' \
      -H 'X-API-Key: <api-key>'

    Response

    {
      "fixed": 0.35,
      "variable": 3.4
    }

Usage

v1.8.12

Public API catalogue and a personal daily usage overview.

  • GET /usageYour available services and current daily usage.

    Parameters and format `apikey` is required to show a personal overview. `apiuser` is optional and can identify the API-key owner.

    Request

    https://<your-api-host>/usage?apikey=<api-key>&apiuser=<api-user>

    Response

    "<!doctype html>…"