> ## Documentation Index
> Fetch the complete documentation index at: https://docs.landedfees.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Sign up, mint an API key, and run your first landed-cost calculation in under five minutes.

## 1. Sign up and mint a key

1. Create an account at [landedfees.com/auth/signup](https://www.landedfees.com/auth/signup).
2. Subscribe to Growth or higher. API access is Growth-tier and above.
3. Open **Settings > API keys** and click **Create key**.
4. Copy the raw key (format `sk_live_...`, 40 characters). It is shown
   exactly once. Store it in a secret manager.

<Warning>
  The raw key is never persisted. If you lose it, revoke it and mint a
  fresh one. Test-mode keys use the `sk_test_` prefix.
</Warning>

## 2. Set the key in your environment

```bash theme={null}
export LANDEDFEES_API_KEY="sk_live_..."
```

## 3. Your first calculate call

The example below prices 500 units of wireless earbuds imported from
China to the US on ocean freight, FOB terms.

<CodeGroup>
  ```bash curl theme={null}
  curl https://www.landedfees.com/api/v1/calc \
    -H "Authorization: Bearer $LANDEDFEES_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "destination_country": "US",
      "origin_country": "CN",
      "incoterm": "FOB",
      "transport_mode": "ocean",
      "currency": "USD",
      "freight": 250,
      "insurance": 45,
      "line_items": [{
        "description": "Wireless earbuds, plastic housing",
        "hs_code": "8517.62.00",
        "quantity": 500,
        "unit_value": 12.50,
        "origin_country": "CN",
        "weight_kg": 0.15
      }]
    }'
  ```

  ```python Python theme={null}
  import os
  from landedfees import LandedFeesClient

  client = LandedFeesClient(api_key=os.environ["LANDEDFEES_API_KEY"])

  response = client.calc({
      "destination_country": "US",
      "origin_country": "CN",
      "incoterm": "FOB",
      "transport_mode": "ocean",
      "currency": "USD",
      "freight": 250,
      "insurance": 45,
      "line_items": [{
          "description": "Wireless earbuds, plastic housing",
          "hs_code": "8517.62.00",
          "quantity": 500,
          "unit_value": 12.50,
          "origin_country": "CN",
          "weight_kg": 0.15,
      }],
  })

  print(response["result"]["total_landed_cost"], response["result"]["currency"])
  ```

  ```ts TypeScript theme={null}
  import { LandedFeesClient } from "@landedfees/sdk";

  const client = new LandedFeesClient({
    apiKey: process.env.LANDEDFEES_API_KEY!,
  });

  const { result } = await client.calc({
    destination_country: "US",
    origin_country: "CN",
    incoterm: "FOB",
    transport_mode: "ocean",
    currency: "USD",
    freight: 250,
    insurance: 45,
    line_items: [{
      description: "Wireless earbuds, plastic housing",
      hs_code: "8517.62.00",
      quantity: 500,
      unit_value: 12.50,
      origin_country: "CN",
      weight_kg: 0.15,
    }],
  });

  console.log(result.total_landed_cost, result.currency);
  ```
</CodeGroup>

## 4. Read the response

```json theme={null}
{
  "id": "5f6b7c8d-1234-4abc-9def-0123456789ab",
  "result": {
    "goods_value": 6250,
    "freight": 250,
    "insurance": 45,
    "customs_value": 6545,
    "duty_amount": 3796.10,
    "taxes_amount": 0,
    "fees_amount": 25.67,
    "total_landed_cost": 10366.77,
    "currency": "USD",
    "breakdown": [
      { "code": "MFN", "amount": 0, "rate": 0 },
      { "code": "SEC_301", "amount": 1636.25, "rate": 0.25 },
      { "code": "SEC_122", "amount": 2159.85, "rate": 0.10 }
    ]
  },
  "compliance_flags": [],
  "data_stale": false
}
```

`total_landed_cost = customs_value + duty_amount + taxes_amount + fees_amount`.

## 5. Next steps

* [Authentication](/authentication): key rotation, revocation, tier gating.
* [Tariff stacking](/concepts/tariff-stacking): how Section 232, 301, and 122 layer.
* [HS classification](/concepts/hs-classification): what to send when you do not know the code.
* [Try it live](https://www.landedfees.com/developers/try): playground with prefilled requests.
