← ShippoCONTENT HISTORY

Update to Shippo

Snapshot Sep 30, 2026 · 22:48 UTC · version 2.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "rate-shopping",
  "description": "Compare multi-carrier shipping rates, find cheapest/fastest options, and get shipping recommendations via the Shippo API",
  "included_files": [
    {
      "relative_path": "shippo/references/address-formats.md",
      "size_in_bytes": 4083
    },
    {
      "relative_path": "shippo/references/carrier-guide.md",
      "size_in_bytes": 5690
    },
    {
      "relative_path": "shippo/references/csv-format.md",
      "size_in_bytes": 5976
    },
    {
      "relative_path": "shippo/references/customs-guide.md",
      "size_in_bytes": 9321
    },
    {
      "relative_path": "shippo/references/error-reference.md",
      "size_in_bytes": 11389
    },
    {
      "relative_path": "shippo/references/international-shipping.md",
      "size_in_bytes": 6910
    },
    {
      "relative_path": "shippo/references/label-formats.md",
      "size_in_bytes": 2825
    },
    {
      "relative_path": "shippo/references/rate-shopping-guide.md",
      "size_in_bytes": 4320
    },
    {
      "relative_path": "shippo/references/response-envelope.md",
      "size_in_bytes": 1184
    },
    {
      "relative_path": "shippo/references/tool-reference.md",
      "size_in_bytes": 15981
    }
  ],
  "skill_md_contents": "---\nname: rate-shopping\ndescription: Compare multi-carrier shipping rates, find cheapest/fastest options, and get shipping recommendations via the Shippo API\nmetadata:\n  version: \"1.5.2\"\n---\n\n# Rate Shopping and Comparison\n\n## Get Rates for a Shipment\n\n1. Collect: origin address, destination address, parcel (length, width, height, distance_unit, weight, mass_unit). All dimension and weight values must be **strings** (e.g., `\"10\"` not `10`).\n2. Optionally validate both addresses with `ValidateAddress` (see Address Validation).\n3. Call `CreateShipment` with `address_from`, `address_to` (as inline address objects using v1 field names -- `street1`, `city`, `state`, `zip`, `country` -- not object IDs), and `parcels`.\n4. The response `rates` array contains available options. Present a table: carrier, service level, price, estimated days.\n5. Note: the same carrier may return duplicate rates from multiple carrier accounts. Present the best rate per carrier/service combination.\n6. Each rate carries an `object_id`. To buy a label, pass the chosen rate's `object_id` to the purchase flow (see Label Purchase); you do not re-send the address or parcel.\n\n---\n\n## Rate Expiration\n\nRates expire after 7 days. If a user tries to purchase a rate that was retrieved more than 7 days ago, create a new shipment to get fresh rates.\n\n---\n\n## Filter by Speed\n\nMap user requests: \"overnight\" = estimated_days 1, \"2-day\" = estimated_days <= 2, \"within N days\" = estimated_days <= N. Filter the rates array accordingly. If nothing matches, show the fastest available option.\n\n---\n\n## International Rates\n\nSome carriers may return international rates without a customs declaration, but others will not. If no rates are returned, try attaching a customs declaration to the shipment. Some carriers also require a phone number on the destination address for international rate retrieval. Inform the user that customs will be required at label purchase time regardless. See `shippo/references/customs-guide.md` for customs details.\n\n---\n\n## Checkout Rates (Line Items)\n\nCall `CreateLiveRate` instead of `CreateShipment`. Accepts `address_from`, `address_to`, and `line_items` (each with title, quantity, total_price, currency, weight, weight_unit).\n\n---\n\n## Rates in a Specific Currency\n\nCall `ListShipmentRatesByCurrencyCode` with the preferred ISO currency code (USD, EUR, GBP, CAD, etc.).\n\n---\n\n## Recommendation\n\nIdentify the cheapest (lowest `amount`), fastest (lowest `estimated_days`), and best-value options from the rates array. These are not API fields -- compute them by sorting the rates array yourself. State the trade-off: \"Option A is $X cheaper but takes Y more days than Option B.\"\n\n---\n\n## Troubleshooting: No Rates\n\n- Verify both addresses passed validation (most common cause).\n- Confirm parcel dimensions are reasonable (not zero, not exceeding carrier limits).\n- Shippo provides managed carrier accounts by default for major carriers. If no rates are returned, the issue is more likely address validation, unsupported route, or parcel dimensions -- not missing carrier accounts. You can verify with `ListCarrierAccounts` if needed.\n- Rates expire after 7 days. If stale, create a new shipment to get fresh rates.\n\n---\n\n## Quick Reference\n\n**Get rates:**\n(optional) `ValidateAddress` (x2) -> `CreateShipment` (with inline addresses) -> read `rates` array\n"
}

SHA-256: 4c4bf966dcab8e97f06fcdcb68c20543bac9d569d9cd50e0b20af1afe1aee835