Shipping & haul

What does it cost to ship this to my country? Give a weight - or just the product links - and get every shipping line with its price, delivery time and what it accepts. /v1/haul adds the goods and the seller's domestic shipping for a full total.

Prices are one agent's current rates from its China warehouse, so treat them as a guide - other agents' lines and prices differ. They are in CNY; add currency=PLN (or any code from /v1/rates) for converted prices. Both endpoints use your key's lookup permission and count as one request.

GET /v1/shipping/estimate

  • country (required) - 2-letter destination code, e.g. PL. See GET /v1/shipping/countries (no key).
  • weight - parcel weight in grams, or one or more url parameters (up to 10 product links) - weights and sizes then come from lookup.
  • length, width, height - optional box size in cm (all three). Lines that bill volumetric weight use it.
  • currency - optional, adds price_local to every line.
  • brands=1, battery=1, liquids=1 - only lines that accept such goods.
request
curl "https://repsapi.pl/v1/shipping/estimate?country=PL&weight=1000&length=35&width=25&height=12&currency=PLN" \
  -H "Authorization: Bearer YOUR_KEY"
200 · response
{
  "country": { "code": "PL", "name": "Poland" },
  "parcel": { "weight_g": 1000, "dimensions_cm": { "length": 35, "width": 25, "height": 12 } },
  "currency": "CNY",
  "exchange": { "from": "CNY", "to": "PLN", "rate": 0.5852, "date": "2026-10-13", "source": "NBP" },
  "lines": [
    {
      "id": "3612",
      "name": "Europe Tariffless Line (Actual Weight)",
      "days": { "min": 7, "max": 20 },
      "price": 199.9,
      "currency": "CNY",
      "price_local": 116.98,
      "fees": { "first": 51.45, "additional": 51.45, "service": 44, "fuel": 30, "handling": 23 },
      "chargeable_weight_g": 1000,
      "volumetric_divisor": null,
      "weight_limits_g": { "min": null, "max": 100000 },
      "accepts": { "brands": true, "battery": false, "liquids": false },
      "restrictions": "Maximum weight limit: 5000g\nThe longest edge shall not exceed 50cm…",
      "features": "…"
    },
    "… 14 more lines, cheapest first"
  ],
  "cheapest": "3612",
  "fastest": "…",
  "note": "Prices are one agent's current rates and a guide only - other agents' lines and prices differ."
}
  • chargeable_weight_g - what the line bills: the greater of the actual weight and the volumetric weight.
  • volumetric_divisor - volumetric kg = L×W×H (cm) / divisor; null means the line bills actual weight only.
  • days - delivery time the line advertises.
  • With url parameters the response also lists items with each product's weight and whether it was measured in a warehouse or an estimate.

POST /v1/haul

A whole haul in one call: up to 20 product links with quantities. You get each item's price and weight, the seller's domestic shipping (counted once per seller), the parcel and every shipping line - plus a total with the cheapest line.

request
curl -X POST "https://repsapi.pl/v1/haul" \
  -H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
  -d '{ "country": "PL", "currency": "PLN",
        "items": [ { "url": "https://detail.1688.com/offer/678091425228.html", "quantity": 2 },
                   { "url": "https://weidian.com/item.html?itemID=7779617259" } ] }'
200 · response (shortened)
{
  "country": { "code": "PL", "name": "Poland" },
  "currency": "CNY",
  "items": [
    { "platform": "1688", "product_id": "678091425228", "quantity": 2, "unit_price": 65, "unit_price_local": 38.04,
      "domestic_shipping": 8, "weight_g": 710, "weight_source": "measured", "dimensions_cm": { "length": 34, "width": 29, "height": 8 }, "…": "…" },
    { "platform": "weidian", "product_id": "7779617259", "quantity": 1, "unit_price": 39.9, "unit_price_local": 23.35,
      "domestic_shipping": 10, "weight_g": 700, "weight_source": "estimate", "dimensions_cm": null, "…": "…" }
  ],
  "totals": {
    "goods": 169.9, "domestic_shipping": 18, "shipping": 304.86, "total": 492.76,
    "local": { "goods": 99.43, "domestic_shipping": 10.53, "shipping": 178.4, "total": 288.36, "currency": "PLN" }
  },
  "parcel": { "weight_g": 2120, "dimensions_cm": null, "weight_complete": true },
  "shipping": { "lines": [ "…" ], "cheapest": "2962", "fastest": "…" },
  "notes": [ "…" ]
}
  • unit_price is the lowest listed price - the exact SKU you buy may cost more.
  • weight_source: "estimate" - nobody has measured the item yet; the weight is the median of similar items we have measured, or a typical weight for its category.
  • Agent service fees, packing material and import taxes are not included.
  • A link we can't read stays in items with an error and is left out of the totals.

Try it without code

The same calculator runs on repsapi.pl/tools/shipping - no key needed.