# Karrio (slim) > Karrio is an open-source multi-carrier shipping server from Karrio, Inc. Its REST API quotes rates, buys labels, tracks parcels and books pickups through the owner's own carrier accounts, self-hosted with Docker or run by Karrio as a paid platform. - Full: https://www.anchorterminal.com/tools/karrio.md (~7,750 tokens) · this version ~1,980 tokens · JSON https://www.anchorterminal.com/tools/karrio.json · canonical https://www.anchorterminal.com/tools/karrio - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-09 **D · 48.7/100 · rank #617 of 722 · #8 in Shipping & fulfilment · not agent-ready · confidence medium** Assessment: A current OpenAPI 3.0.3 contract with 65 paths, a free LGPL-3.0 server and 30 carrier connectors suit a team that hosts it. The last release was 23 June 2026, the `@karrio/mcp` package the docs install is absent from npm, and `api.karrio.io` didn't resolve on 8 October 2026. ## Facts - Kind: HTTP API · vendor: Karrio, Inc. · category: Shipping & fulfilment · legal entity: Karrio, Inc. · provenance 53/100 - Local only (HTTP): pypi `karrio`, pypi `karrio-server`, oci `karrio/server` - Auth: API key · pricing: Freemium · x402: no · licence: LGPL-3.0 for the server, SDK and modules. Code under `ee/` is under the Karrio Enterprise licence and needs a subscription for production use. The MCP package in `packages/mcp` is Apache-2.0 - Probe metrics: not measured yet (probes haven't run) - Graded surface: The open-source server its owner hosts, REST under `/v1` with a GraphQL API beside it. The managed platform wasn't reachable for grading on 8 October 2026 - API: OpenAPI 3.0.3, version 2026.1.32, 65 paths. Shipments, rates, trackers, pickups, manifests, orders, addresses, parcels, products, documents, webhooks, carrier connections, batches, plus `/v1/proxy/*` calls that pass straight to a carrier without storing a record - Carriers: 30 connectors in `modules/connectors`, among them UPS, FedEx, USPS, DHL Express, DHL Parcel DE, Canada Post, Purolator, DPD, GLS, La Poste, Chronopost, Australia Post and Sendle. More sit in a community submodule we didn't count. The owner supplies the carrier accounts - Credentials: Private API keys (`key_...`) with a label, bound to test or live mode, sent as the HTTP Basic username or `Authorization: Token`. JWT pairs from `POST /api/token` with email and password. Short-lived resource tokens from `POST /api/tokens` for document links, five minutes by default and one hour at most - Getting access: Self-hosted, `docker compose up` in `docker/`, API on port 5002 and dashboard on 3002, default login `admin@example.com` with password `demo`. The managed platform is by demo booking - Test mode: Keys are bound to test or live mode, and JWT requests choose with the `x-test-mode` header. Test mode calls the carriers' sandbox hosts with the owner's sandbox credentials - Rate limits: Defaults in `settings/base.py`. 60 a minute anonymous, 600 a minute per user, 300 a minute on carrier requests, each set by environment variable (`ANON_RATE_LIMIT`, `USER_RATE_LIMIT`, `CARRIER_REQUEST_RATE_LIMIT`) - Pagination: `limit` from 1 to 100 and `offset`, with `count`, `next` and `previous` in the response. Shipment lists filter by carrier, status, dates, keyword, metadata key and value, `is_return` and more - MCP server: `packages/mcp` in the repository, Apache-2.0, version 1.0.0, 12 tools and two carrier resources, stdio or Streamable HTTP on port 3100. Not on npm on 8 October 2026 and not in the official MCP registry - Packages: PyPI `karrio` 2026.1.32 (Python 3.11 or later), `karrio-server` 2026.1.32 and `karrio-cli`, all uploaded 23 June 2026. Docker Hub `karrio/server`, about 27,000 pulls. The npm client `karrio` is at 2023.1.0 - Licence: LGPL-3.0 for the server, SDK and modules. `ee/` (multi-tenancy, workflows, audit logging, SSO) under the Karrio Enterprise licence, which needs a subscription for production use. MCP package Apache-2.0 - Support: GitHub Discussions and Discord for the open-source edition. The platform page lists email and Slack support for Scale customers and an SLA for enterprise and commercial licence customers - Prices: Open-source edition, self-hosted free per month (plan); Scale managed platform, starting price $499 per month (plan) - Scores: Reliability 76, Performance pending, Schema & documentation 68, Agent ergonomics 57, Security & auth 44, Payments & pricing 40, Task success pending, Maintenance & community 29, Transparency & trust 56 · negative events -7 · total over the 7 assessed categories - Why: Reliability, Read with the local-software lines, since the graded surface is the open-source server its owner hosts. · Schema & documentation, `schemas/openapi.yml` is OpenAPI 3.0.3 at version 2026.1.32, with 65 paths, and the docs site renders a reference from it. · Agent ergonomics, List calls take `limit` from 1 to 100 with `offset`. · Security & auth, Private API keys with a label, bound to test or live mode, sent as the Basic username or in the `Authorization` header. · Payments & pricing, Scored with the self-hosted rule, taking prices from the paid options beside the free edition. · Maintenance & community, The newest release, 2026.1.32, is dated 23 June 2026, 107 days before the check, and nothing has landed on main since (10 of 30). · Transparency & trust, The server, SDK and modules are LGPL-3.0, an OSI licence. - Sources: 18, open questions: 6, both in the full twin - Capabilities: shipping.rates, shipping.labels, shipping.tracking, shipping.returns - JSON: https://www.anchorterminal.com/api/v1/tools/karrio.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/karrio.svg` or a link to https://www.anchorterminal.com/tools/karrio from a page on karrio.io or one of its subdomains, or the README of github.com/karrioapi/karrio, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Run your own instance with Docker Compose and call it at `http://localhost:5002`. Don't rely on `api.karrio.io`, which didn't resolve on 8 October 2026 2. Don't run `npx karrio-mcp` or `npx -y @karrio/mcp`. Neither name is published on npm, so build the server from `packages/mcp` in the repository 3. Change the default `admin@example.com` and `demo` login before the instance is reachable, and upgrade to 2026.1.32 or later so passwords aren't stored as MD5 4. Don't blind-retry `POST /v1/shipments` with a `service` set or `POST /v1/shipments/{id}/purchase`. Fetch the shipment and check its status first, since no idempotency key exists 5. Use a test-mode API key while building. Send it as the HTTP Basic username or as `Authorization: Token key_...` ## Connect ```bash git clone --depth 1 https://github.com/karrioapi/karrio cd karrio git submodule update --init community cd docker docker compose up ``` ```bash curl http://localhost:5002/v1/shipments \ -u key_xxxxxx: ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/karrio ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Easyship | B | 68.8 | shipping.rates, shipping.labels, shipping.tracking, shipping.returns | https://www.anchorterminal.com/tools/easyship.min.md | | Sendcloud | B | 62 | shipping.rates, shipping.labels, shipping.tracking, shipping.returns | https://www.anchorterminal.com/tools/sendcloud.min.md | | Shippo | C | 61.9 | shipping.rates, shipping.labels, shipping.tracking, shipping.returns | https://www.anchorterminal.com/tools/shippo.min.md | | ShipBob | C | 60.8 | shipping.rates, shipping.tracking, shipping.returns, shipping.labels | https://www.anchorterminal.com/tools/shipbob.min.md | | ShipStation API | C | 59.3 | shipping.rates, shipping.labels, shipping.tracking, shipping.returns | https://www.anchorterminal.com/tools/shipstation.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)