Head to head · Shipping rates · October 2026 research run
Karrio vs ShipBob
ShipBob scores 60.8 (C) on agent readiness against Karrio's 48.7 (D), and leads in 5 of 7 scored categories. Karrio leads on payments & pricing. Both do shipping rates.
Which one, for what
Karrio D
Good for A team that wants to host its own multi-carrier API with its own carrier contracts and can maintain a Django and PostgreSQL stack.
Ahead on
- Payments & pricing, 40 against 20
Also in its favour
- Open source
Watch for
No release since 2026.1.32 on 23 June 2026, 107 days before this check, and fix pull requests opened in September 2026 were still open
ShipBob C
Good for An agent working for a merchant that already stores stock with ShipBob, to create and track orders, check inventory, book inbound stock and handle returns.
Ahead on
- Schema & documentation, 85 against 68
- Security & auth, 55 against 44
- Maintenance & community, 41 against 29
- Transparency & trust, 77 against 56
Also in its favour
- A hosted endpoint, with nothing to install
- No incidents deducted, where Karrio loses 7 points for them
Watch for
No public price. Receiving, storage and pick, pack and ship fees come only in a quote from sales
Score by category
| Category | Weight this run | Karrio | ShipBob | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 76 | 77 | ShipBob +1 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 68 | 85 | ShipBob +17 |
| Agent ergonomics | 13%16.2 | 57 | 56 | Karrio +1 |
| Security & auth | 14%17.5 | 44 | 55 | ShipBob +11 |
| Payments & pricing | 10%12.5 | 40 | 20 | Karrio +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 29 | 41 | ShipBob +12 |
| Transparency & trust | 7%8.8 | 56 | 77 | ShipBob +21 |
| Negative events | ≤15 | -7 | 0 | |
| Total | 48.7 · D | 60.8 · C |
Facts side by side
| Fact | Karrio | ShipBob |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Karrio, Inc. | ShipBob, Inc. |
| Hosted endpoint | no (local only) | https://api.shipbob.com |
| Transports | HTTP | HTTP |
| Auth | API key | OAuth or key |
| Pricing | Freemium | Paid |
| x402 | no | 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 | Proprietary service under ShipBob's Terms of Service. The MCP tutorials repository on GitHub has no licence file |
| Tools exposed | none | 73 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-06-23 | 2026-07-31 |
| Terms last updated | 2025-04-08 | 2026-05-22 |
| Privacy policy last updated | 2025-04-08 | 2024-03-29 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | yes |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | not found in the text | yes |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Popularity | 799 stars, 338 PyPI/wk | none |
Verdicts
Karrio
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.
ShipBob
OAuth with PKCE and read and write scopes per domain, a free sandbox, a public OpenAPI spec per version and a 24-month support window for each API version are documented. Fulfilment prices are by quote only, the status page has no API component, no official SDK was found, and Personal Access Tokens never expire and carry full account access.
Before you call either
Karrio
- Run your own instance with Docker Compose and call it at
http://localhost:5002. Don't rely onapi.karrio.io, which didn't resolve on 8 October 2026 - Don't run
npx karrio-mcpornpx -y @karrio/mcp. Neither name is published on npm, so build the server frompackages/mcpin the repository - Change the default
admin@example.comanddemologin before the instance is reachable, and upgrade to 2026.1.32 or later so passwords aren't stored as MD5 - Don't blind-retry
POST /v1/shipmentswith aserviceset orPOST /v1/shipments/{id}/purchase. Fetch the shipment and check its status first, since no idempotency key exists - Use a test-mode API key while building. Send it as the HTTP Basic username or as
Authorization: Token key_...
ShipBob
- Call
GET /2026-07/channelfirst and send the ID of the channel with_writescopes in theshipbob_channel_idheader on every write - Build against
https://sandbox-api.shipbob.comwith a sandbox account. Sandbox and production accounts, tokens and data are separate - Set a stable
reference_idon each order, product and return. A duplicate returns 422, which is the only guard against a double create - Stay under 150 requests a minute per user and application, and wait the seconds given in
x-retry-afterafter a 429 - Over MCP, writes work only on records in the channel created at consent. A 403 or 404 on a cancel usually means the record belongs to another channel
Questions
Which is better for AI agents, Karrio or ShipBob?
ShipBob scores 60.8 (C) on agent readiness against Karrio's 48.7 (D), and leads in 5 of 7 scored categories. Karrio leads on payments & pricing.
Do Karrio and ShipBob need an API key?
Karrio needs an API key. ShipBob takes an API key or an OAuth sign-in.
Can an agent call Karrio and ShipBob without installing anything?
No hosted endpoint is listed for Karrio. ShipBob has a hosted endpoint at https://api.shipbob.com.
Are Karrio and ShipBob open source?
Karrio is open source (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). No open-source release is listed for ShipBob.
Other comparisons with Karrio or ShipBob
Machine-readable
- This page as Markdown
/compare/karrio-vs-shipbob.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/karrio.json·/api/v1/tools/shipbob.json - From a terminal
anchor compare karrio shipbob(the CLI) - Over MCP
compare_tools {"a": "karrio", "b": "shipbob"}at/mcp, no key