{
  "data": {
    "a": {
      "slug": "shipbob",
      "name": "ShipBob",
      "vendor": "ShipBob, Inc.",
      "vendorUrl": "https://www.shipbob.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "Outsourced fulfilment service from ShipBob, Inc. of Chicago. Merchants send orders, products, inbound stock and returns to its warehouse network through a REST API with date-based versions, a hosted MCP server and webhooks, with a separate sandbox.",
      "url": "https://www.anchorterminal.com/tools/shipbob",
      "markdownUrl": "https://www.anchorterminal.com/tools/shipbob.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/shipbob.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/shipbob.json",
      "repo": "https://github.com/ShipBob/mcp-ai-tutorials",
      "license": "Proprietary service under ShipBob's Terms of Service. The MCP tutorials repository on GitHub has no licence file",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.shipbob.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Self-serve, with no review. A person signs up in a browser and creates a Personal Access Token in the dashboard under Integrations, API Tokens, sent as `Authorization: Bearer \u003ctoken\u003e`. These tokens have every scope, don't expire, act as the account's root user and can be revoked. Multi-user apps use the OAuth 2.0 authorisation code grant with PKCE at auth.shipbob.com, with read and write scopes per domain, one-hour access tokens and 30-day refresh tokens. The hosted MCP server uses OAuth with dynamic client registration, or a token as Bearer. Writes need a `shipbob_channel_id` header. Logistics API credentials come from a ShipBob representative.",
      "pricing": "paid",
      "pricingNotes": "Quote only. The pricing page names the fee types (implementation, receiving, storage, and pick, pack and ship) with no figures and a form for a quote. The developer docs say an account is free until physical inventory arrives and that the sandbox is free, so an agent can build and test without a contract. The API and MCP server carry no separate charge (https://www.shipbob.com/pricing/, https://developer.shipbob.com/introduction).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 73,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developer.shipbob.com",
      "llmsTxt": "https://developer.shipbob.com/llms.txt",
      "openapi": "https://marketplaceapi.shipbob.com/docs/2026-07.json",
      "capabilities": [
        "shipping.rates",
        "shipping.tracking",
        "shipping.returns",
        "shipping.labels"
      ],
      "tags": [
        "hosted",
        "paid",
        "sales-led",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-07-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.8,
        "grade": "C",
        "agentReady": false,
        "rank": 387,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 41,
          "payments": 20,
          "reliability": 77,
          "schema": 85,
          "security": 55,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "OAuth 2.0 with PKCE, separate read and write scopes for nine domains, one-hour access tokens and 30-day refresh tokens",
          "Free sandbox at `sandbox-api.shipbob.com` with its own accounts, a test card number and a simulation terminal for shipments, receiving and stock changes",
          "OpenAPI 3.0 spec for each API version with 89 operations and 504 examples in 2026-07, plus llms.txt and a Markdown copy of each docs page",
          "A new API version each January and July, each supported for 24 months, with an upgrade guide per step",
          "Hosted MCP server with 73 tools, OAuth with dynamic client registration, and writes limited to the channel created at consent",
          "Rate limit of 150 requests a minute published, with `x-retry-after` and `x-remaining-calls` response headers"
        ],
        "weaknesses": [
          "No public price. Receiving, storage and pick, pack and ship fees come only in a quote from sales",
          "The status page lists the merchant dashboard and two warehouse systems, with no component for the API and no incident posted",
          "Personal Access Tokens don't expire and carry every scope, with no read-only option",
          "No official SDK was found, and the MCP server is not in the official MCP registry",
          "No idempotency key. A retried create is caught only by the unique `reference_id`, which returns 422",
          "No security.txt, disclosure policy or bug bounty was found, and no API uptime SLA is published"
        ],
        "agentNotes": [
          "Call `GET /2026-07/channel` first and send the ID of the channel with `_write` scopes in the `shipbob_channel_id` header on every write",
          "Build against `https://sandbox-api.shipbob.com` with a sandbox account. Sandbox and production accounts, tokens and data are separate",
          "Set a stable `reference_id` on 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-after` after 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"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.8
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 41,
          "payments": 20,
          "reliability": 77,
          "schema": 85,
          "security": 55,
          "transparency": 69
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl -X GET \"https://api.shipbob.com/2026-07/channel\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"",
        "claudeCode": "claude mcp add --transport http shipbob-mcp --scope user https://api.shipbob.com/developer-api/mcp",
        "config": {
          "mcpServers": {
            "shipbob": {
              "url": "https://api.shipbob.com/developer-api/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/shipping.rates",
        "tool": "https://letme.dev/shipbob"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "ShipBob, Inc.",
        "domain": "shipbob.com",
        "domainRegistered": "2014-03-12",
        "endpointOnVendorDomain": true,
        "terms": "https://www.shipbob.com/terms-of-service/",
        "privacy": "https://www.shipbob.com/privacy-policy/",
        "statusPage": "https://status.shipbob.com",
        "changelog": "https://developer.shipbob.com/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (updated 22 May 2026) define ShipBob as ShipBob, Inc. and its affiliates, give 120 N Racine Ave, Suite 100, Chicago, IL 60607, and are governed by Illinois law. They are the agreement for the fulfilment service and its platform, and no separate API terms were found.",
          "The privacy policy (last updated 29 March 2024) names ShipBob, Inc. and says it doesn't apply where commercial contracts govern the processing. Merchant data is covered by the DPA dated April 2026, which the terms incorporate.",
          "The API answers at api.shipbob.com and sandbox-api.shipbob.com, OAuth at auth.shipbob.com, and the MCP server at api.shipbob.com/developer-api/mcp. Sandbox accounts are created at webstage.shipbob.dev.",
          "security.txt returns 404 on www.shipbob.com, developer.shipbob.com and api.shipbob.com. No disclosure address was found on the trust page.",
          "RDAP for shipbob.com gives a registration date of 2014-03-12.",
          "The status page has components for the merchant dashboard and two warehouse systems, and none for the API."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/shipbob.json",
      "live": {
        "slug": "shipbob",
        "probe": {
          "target": "https://api.shipbob.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:21.341790184Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 122,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 134,
          "p95ms24h": 233,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.shipbob.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:25.746291947Z"
        },
        "updatedAt": "2026-10-08T21:12:21.341790184Z"
      }
    },
    "answer": "Shippo scores 61.9 (C) on agent readiness against ShipBob's 60.8 (C), and leads in 3 of 7 scored categories. ShipBob leads on reliability and transparency \u0026 trust.",
    "b": {
      "slug": "shippo",
      "name": "Shippo",
      "vendor": "Shippo",
      "vendorUrl": "https://goshippo.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "Multi-carrier shipping API from Shippo. It quotes rates, buys labels, validates addresses, tracks parcels and creates return labels across the carriers it connects, through a REST API, official SDKs and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/shippo",
      "markdownUrl": "https://www.anchorterminal.com/tools/shippo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/shippo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/shippo.json",
      "repo": "https://github.com/goshippo/ai",
      "license": "Proprietary service under Shippo's terms of use. The SDKs and the goshippo/ai repository (skills and MCP bridge) are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.goshippo.com",
      "packages": [
        {
          "registry": "npm",
          "name": "shippo"
        },
        {
          "registry": "pypi",
          "name": "shippo"
        },
        {
          "registry": "npm",
          "name": "@shippo/shippo-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API key. A person signs up at apps.goshippo.com/join and creates live (shippo_live_) and test (shippo_test_) keys in the API portal, with no review. Calls send `Authorization: ShippoToken \u003ckey\u003e`. Keys are shown once, can be deleted and replaced, and have no scopes. The hosted MCP server at mcp.shippo.com uses per-user OAuth against the live account, with one scope (\"*\"). OAuth credentials for a platform acting for other Shippo accounts come from the sales team. Client-side apps can use a 12-hour JWT from POST /embedded/authz.",
      "pricing": "freemium",
      "pricingNotes": "API Starter has no monthly fee. The first 30 labels a month are free, then 7 cents a label, on top of postage. Calls not tied to a Shippo label are charged per unit (see the price table). API Premier is custom, with volume discounts, through sales. Test mode is free with a test key, so an agent can start without a contract, and billing details are needed for live labels (https://goshippo.com/pricing/api).",
      "priceSummary": "$0.07 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI spec or the pricing page (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 3,
        "npmWeekly": 73114,
        "pypiWeekly": 20036,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://docs.goshippo.com",
      "llmsTxt": "https://docs.goshippo.com/llms.txt",
      "openapi": "https://docs.goshippo.com/spec/shippoapi/public-api.yaml",
      "registryName": "com.shippo/shippo-mcp",
      "capabilities": [
        "shipping.rates",
        "shipping.labels",
        "shipping.tracking",
        "shipping.address-validation",
        "shipping.returns"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "python",
        "typescript",
        "java",
        "webhooks",
        "sandbox",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.9,
        "grade": "C",
        "agentReady": false,
        "rank": 355,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 77,
          "payments": 40,
          "reliability": 59,
          "schema": 83,
          "security": 52,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-07"
        },
        "negative": 0,
        "verdict": "Per-label and per-call prices are public, test keys are self-serve, and the OpenAPI spec, llms.txt and Markdown docs are open to a fetch. Label purchase has no idempotency key, API keys carry no scopes, and the status page logged carrier-side incidents on most days between July and October 2026.",
        "bestFor": "An agent that quotes and buys parcel labels across USPS, UPS, FedEx and DHL Express for a small or mid-size shipper, with a free test mode and public unit prices.",
        "strengths": [
          "Public prices per unit, 7 cents a label after 30 free a month, 1 cent a rate request and 2 cents a tracking request",
          "Test keys (shippo_test_) create free test labels and mock tracking, with data kept apart from live",
          "OpenAPI 3.1 spec with 71 operations, plus llms.txt and a Markdown copy of each docs page",
          "Hosted MCP server at mcp.shippo.com with four tools, reads and writes split so a client can require approval for writes",
          "Rate limits published per endpoint, with separate live and test figures",
          "SOC 2 Type II and PCI DSS listed on the trust centre, with an annual third-party penetration test"
        ],
        "weaknesses": [
          "No idempotency key on label purchase or other writes. Only the Reporting API accepts one",
          "API keys have no scopes or read-only mode, and the OAuth flow has one scope, \"*\"",
          "The hosted MCP server runs on the live account only, with no test mode",
          "Carrier-side incidents on the status page on most days from July to October 2026, many marked major or critical",
          "Terms of use and privacy notice load only with JavaScript, and no SLA or subprocessor list was found",
          "The Python SDK on PyPI is 3.9.0 from 26 November 2024"
        ],
        "agentNotes": [
          "Build and test with a shippo_test_ key. Test and live object IDs are separate, and the hosted MCP server has no test mode",
          "Send `Authorization: ShippoToken \u003ckey\u003e`, not Bearer, and pin `Shippo-API-Version: 2018-02-08`",
          "Before retrying a failed POST /transactions, list recent transactions. There is no idempotency key, and a second purchase is a second charge",
          "Pass `async: false` on shipments and transactions, or poll the object until its status leaves QUEUED",
          "Set `results` on list calls (under 200). Defaults vary by resource, and list calls are limited to 50 a minute on live keys"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.9
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 77,
          "payments": 40,
          "reliability": 59,
          "schema": 83,
          "security": 52,
          "transparency": 38
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "npm install shippo",
        "http": "curl https://api.goshippo.com/shipments/ \\\n  -H \"Authorization: ShippoToken \u003cAPI_TOKEN\u003e\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{...}'",
        "claudeCode": "claude mcp add --transport http shippo https://mcp.shippo.com",
        "config": {
          "mcpServers": {
            "shippo": {
              "url": "https://mcp.shippo.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/shipping.rates",
        "tool": "https://letme.dev/shippo"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Label, API Starter, after 30 free a month, plus postage",
          "unit": "tx",
          "usd": 0.07
        },
        {
          "item": "Rate request not tied to a Shippo label",
          "unit": "call",
          "usd": 0.01
        },
        {
          "item": "Tracking request not tied to a Shippo label",
          "unit": "call",
          "usd": 0.02
        },
        {
          "item": "Delivery date estimate",
          "unit": "call",
          "usd": 0.03
        },
        {
          "item": "US address validation",
          "unit": "call",
          "usd": 0.02
        },
        {
          "item": "Non-US address validation",
          "unit": "call",
          "usd": 0.08
        }
      ],
      "provenance": {
        "legalEntity": "Shippo",
        "domain": "goshippo.com",
        "domainRegistered": "2013-09-21",
        "endpointOnVendorDomain": true,
        "terms": "https://privacy.goshippo.com/policies?name=terms-of-use",
        "privacy": "https://privacy.goshippo.com/policies?name=privacy-notice",
        "statusPage": "https://status.goshippo.com",
        "changelog": "https://docs.goshippo.com/api-concepts/api-change-log",
        "securityTxt": "none",
        "checked": "2026-10-07",
        "notes": [
          "The registered legal entity wasn't confirmed. goshippo.com/terms and /privacy redirect to a privacy centre that returns no policy text without JavaScript. The SDK licences name \"Shippo\" as copyright holder.",
          "RDAP for goshippo.com gives a registration date of 2013-09-21.",
          "The API answers at api.goshippo.com and the MCP server at mcp.shippo.com, whose OAuth metadata names https://goshippo.com as the authorisation server.",
          "goshippo.com/.well-known/security.txt and goshippo.com/security both return 404. The trust centre gives security@shippo.com and the AI repository's SECURITY.md gives security@goshippo.com.",
          "The trust centre at trust.goshippo.com lists a SOC 2 Type II report (November 2024 to November 2025), a 2026 bridge letter and a PCI SAQ-A attestation, each on request."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/shippo.json",
      "live": {
        "slug": "shippo",
        "probe": {
          "target": "https://api.goshippo.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:21.427776141Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 128,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 148,
          "p95ms24h": 384,
          "samples24h": 64,
          "samples30d": 64,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 64,
              "ok": 64
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.goshippo.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:25.756522405Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "goshippo/ai",
            "version": "v1.5.4",
            "released": "2026-07-23",
            "seenAt": "2026-10-08T16:29:07.821314571Z"
          },
          {
            "registry": "npm",
            "name": "@shippo/shippo-mcp",
            "version": "3.0.4",
            "seenAt": "2026-10-08T16:29:06.611030249Z"
          },
          {
            "registry": "npm",
            "name": "shippo",
            "version": "2.18.0",
            "seenAt": "2026-10-08T16:29:05.577126262Z"
          },
          {
            "registry": "pypi",
            "name": "shippo",
            "version": "3.9.0",
            "released": "2024-11-26",
            "seenAt": "2026-10-08T16:29:06.416959144Z"
          }
        ],
        "githubStars": 3,
        "npmWeekly": 73114,
        "pypiWeekly": 21417,
        "securityTxt": {
          "url": "https://goshippo.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:36.985520401Z"
        },
        "pages": [
          {
            "url": "https://docs.goshippo.com/api-concepts/api-change-log",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:46.983268522Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "53c17b5a6325"
          },
          {
            "url": "https://goshippo.com/pricing/api",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:20:41.663895781Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bd8848b3951b"
          },
          {
            "url": "https://privacy.goshippo.com/policies?name=privacy-notice",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:20.315284167Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://privacy.goshippo.com/policies?name=terms-of-use",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:22.737042316Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          }
        ],
        "updatedAt": "2026-10-08T21:12:21.427776141Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "ShipBob, Inc.",
        "b": "Shippo",
        "name": "Vendor"
      },
      {
        "a": "https://api.shipbob.com",
        "b": "https://api.goshippo.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$0.01 per call",
        "name": "Price for shipping rates"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under ShipBob's Terms of Service. The MCP tutorials repository on GitHub has no licence file",
        "b": "Proprietary service under Shippo's terms of use. The SDKs and the goshippo/ai repository (skills and MCP bridge) are MIT",
        "name": "Licence"
      },
      {
        "a": "73",
        "b": "4",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.shippo/shippo-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-07-31",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "2026-05-22",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2024-03-29",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "3 stars, 73k npm/wk, 20k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Shippo scores 61.9 (C) on agent readiness against ShipBob's 60.8 (C), and leads in 3 of 7 scored categories. ShipBob leads on reliability and transparency \u0026 trust.",
        "question": "Which is better for AI agents, ShipBob or Shippo?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do ShipBob and Shippo need an API key?"
      },
      {
        "answer": "Yes. ShipBob has a hosted endpoint at https://api.shipbob.com and Shippo at https://api.goshippo.com.",
        "question": "Can an agent call ShipBob and Shippo without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 77 against 59",
          "Transparency \u0026 trust, 77 against 61"
        ],
        "also": null,
        "goodFor": "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.",
        "slug": "shipbob",
        "watchFor": "No public price. Receiving, storage and pick, pack and ship fees come only in a quote from sales"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 64 against 56",
          "Payments \u0026 pricing, 40 against 20",
          "Maintenance \u0026 community, 77 against 41"
        ],
        "also": null,
        "goodFor": "An agent that quotes and buys parcel labels across USPS, UPS, FedEx and DHL Express for a small or mid-size shipper, with a free test mode and public unit prices.",
        "slug": "shippo",
        "watchFor": "No idempotency key on label purchase or other writes. Only the Reporting API accepts one"
      }
    ],
    "job": {
      "capability": "shipping.rates",
      "name": "Shipping rates"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/easypost-vs-shipbob.json",
        "title": "EasyPost vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/easypost-vs-shipbob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easypost-vs-shippo.json",
        "title": "EasyPost vs Shippo",
        "url": "https://www.anchorterminal.com/compare/easypost-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easyship-vs-shipbob.json",
        "title": "Easyship vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-shipbob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easyship-vs-shippo.json",
        "title": "Easyship vs Shippo",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/karrio-vs-shipbob.json",
        "title": "Karrio vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/karrio-vs-shipbob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/karrio-vs-shippo.json",
        "title": "Karrio vs Shippo",
        "url": "https://www.anchorterminal.com/compare/karrio-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendcloud-vs-shipbob.json",
        "title": "Sendcloud vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-shipbob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendcloud-vs-shippo.json",
        "title": "Sendcloud vs Shippo",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation.json",
        "title": "ShipBob vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shippo-vs-shipstation.json",
        "title": "Shippo vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/shippo-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-shipbob.json",
        "title": "Ship24 vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shipbob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-shippo.json",
        "title": "Ship24 vs Shippo",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shippo"
      }
    ],
    "scores": [
      {
        "by": 18,
        "edge": "shipbob",
        "key": "reliability",
        "name": "Reliability",
        "shipbob": 77,
        "shippo": 59,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "shipbob",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "shipbob": 85,
        "shippo": 83,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "shippo",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "shipbob": 56,
        "shippo": 64,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "shipbob",
        "key": "security",
        "name": "Security \u0026 auth",
        "shipbob": 55,
        "shippo": 52,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "shippo",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "shipbob": 20,
        "shippo": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 36,
        "edge": "shippo",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "shipbob": 41,
        "shippo": 77,
        "weight": 7
      },
      {
        "by": 16,
        "edge": "shipbob",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "shipbob": 77,
        "shippo": 61,
        "weight": 7
      }
    ],
    "summary": "Shippo scores 61.9 (C) on agent readiness against ShipBob's 60.8 (C), and leads in 3 of 7 scored categories. ShipBob leads on reliability and transparency \u0026 trust. Both do shipping rates.",
    "verdicts": {
      "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.",
      "shippo": "Per-label and per-call prices are public, test keys are self-serve, and the OpenAPI spec, llms.txt and Markdown docs are open to a fetch. Label purchase has no idempotency key, API keys carry no scopes, and the status page logged carrier-side incidents on most days between July and October 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/shipbob-vs-shippo",
    "json": "https://www.anchorterminal.com/compare/shipbob-vs-shippo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/shipbob-vs-shippo.md",
    "slim": "https://www.anchorterminal.com/compare/shipbob-vs-shippo.min.md"
  },
  "markdown": "Shippo scores 61.9 (C) on agent readiness against ShipBob's 60.8 (C), and leads in 3 of 7 scored categories. ShipBob leads on reliability and transparency \u0026 trust. Both do shipping rates.\n\n- ShipBob: grade C, 60.8/100, rank #387 of 722. Markdown https://www.anchorterminal.com/tools/shipbob.md · JSON https://www.anchorterminal.com/api/v1/tools/shipbob.json\n- Shippo: grade C, 61.9/100, rank #355 of 722. Markdown https://www.anchorterminal.com/tools/shippo.md · JSON https://www.anchorterminal.com/api/v1/tools/shippo.json\n\n## Which one, for what\n\n### ShipBob (C)\n\nGood 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.\n\nAhead on:\n- Reliability, 77 against 59\n- Transparency \u0026 trust, 77 against 61\n\nWatch for: No public price. Receiving, storage and pick, pack and ship fees come only in a quote from sales\n\n### Shippo (C)\n\nGood for: An agent that quotes and buys parcel labels across USPS, UPS, FedEx and DHL Express for a small or mid-size shipper, with a free test mode and public unit prices.\n\nAhead on:\n- Agent ergonomics, 64 against 56\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 77 against 41\n\nWatch for: No idempotency key on label purchase or other writes. Only the Reporting API accepts one\n\n\n## Score by category\n\n| Category | Weight | ShipBob | Shippo | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 77 | 59 | ShipBob +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 83 | ShipBob +2 |\n| Agent ergonomics | 13% (16.2 this run) | 56 | 64 | Shippo +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 52 | ShipBob +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | Shippo +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 41 | 77 | Shippo +36 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 61 | ShipBob +16 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **60.8 · C** | **61.9 · C** | |\n\n## Facts side by side\n\n| Fact | ShipBob | Shippo |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | ShipBob, Inc. | Shippo |\n| Hosted endpoint | `https://api.shipbob.com` | `https://api.goshippo.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| Price for shipping rates | not published | $0.01 per call |\n| x402 | no | no |\n| Licence | Proprietary service under ShipBob's Terms of Service. The MCP tutorials repository on GitHub has no licence file | Proprietary service under Shippo's terms of use. The SDKs and the goshippo/ai repository (skills and MCP bridge) are MIT |\n| Tools exposed | 73 | 4 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `com.shippo/shippo-mcp` |\n| Last release | 2026-07-31 | 2026-10-01 |\n| Terms last updated | 2026-05-22 | couldn't be read |\n| Privacy policy last updated | 2024-03-29 | couldn't be read |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | none | 3 stars, 73k npm/wk, 20k PyPI/wk |\n\n## Verdicts\n\n**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.\n\n**Shippo.** Per-label and per-call prices are public, test keys are self-serve, and the OpenAPI spec, llms.txt and Markdown docs are open to a fetch. Label purchase has no idempotency key, API keys carry no scopes, and the status page logged carrier-side incidents on most days between July and October 2026.\n\n## Before you call either\n\n### ShipBob\n\n1. Call `GET /2026-07/channel` first and send the ID of the channel with `_write` scopes in the `shipbob_channel_id` header on every write\n2. Build against `https://sandbox-api.shipbob.com` with a sandbox account. Sandbox and production accounts, tokens and data are separate\n3. Set a stable `reference_id` on each order, product and return. A duplicate returns 422, which is the only guard against a double create\n4. Stay under 150 requests a minute per user and application, and wait the seconds given in `x-retry-after` after a 429\n5. 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\n\n### Shippo\n\n1. Build and test with a shippo_test_ key. Test and live object IDs are separate, and the hosted MCP server has no test mode\n2. Send `Authorization: ShippoToken \u003ckey\u003e`, not Bearer, and pin `Shippo-API-Version: 2018-02-08`\n3. Before retrying a failed POST /transactions, list recent transactions. There is no idempotency key, and a second purchase is a second charge\n4. Pass `async: false` on shipments and transactions, or poll the object until its status leaves QUEUED\n5. Set `results` on list calls (under 200). Defaults vary by resource, and list calls are limited to 50 a minute on live keys\n\n## Questions\n\n### Which is better for AI agents, ShipBob or Shippo?\n\nShippo scores 61.9 (C) on agent readiness against ShipBob's 60.8 (C), and leads in 3 of 7 scored categories. ShipBob leads on reliability and transparency \u0026 trust.\n\n### Do ShipBob and Shippo need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call ShipBob and Shippo without installing anything?\n\nYes. ShipBob has a hosted endpoint at https://api.shipbob.com and Shippo at https://api.goshippo.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/shipbob-vs-shippo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/shipbob-vs-shippo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"shipbob\", \"b\": \"shippo\"}`. From a terminal: `anchor compare shipbob shippo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/shipbob.json and https://www.anchorterminal.com/api/v1/tools/shippo.json\n\n## Other comparisons with ShipBob or Shippo\n\n- [EasyPost vs ShipBob](https://www.anchorterminal.com/compare/easypost-vs-shipbob.md)\n- [EasyPost vs Shippo](https://www.anchorterminal.com/compare/easypost-vs-shippo.md)\n- [Easyship vs ShipBob](https://www.anchorterminal.com/compare/easyship-vs-shipbob.md)\n- [Easyship vs Shippo](https://www.anchorterminal.com/compare/easyship-vs-shippo.md)\n- [Karrio vs ShipBob](https://www.anchorterminal.com/compare/karrio-vs-shipbob.md)\n- [Karrio vs Shippo](https://www.anchorterminal.com/compare/karrio-vs-shippo.md)\n- [Sendcloud vs ShipBob](https://www.anchorterminal.com/compare/sendcloud-vs-shipbob.md)\n- [Sendcloud vs Shippo](https://www.anchorterminal.com/compare/sendcloud-vs-shippo.md)\n- [ShipBob vs ShipStation API](https://www.anchorterminal.com/compare/shipbob-vs-shipstation.md)\n- [Shippo vs ShipStation API](https://www.anchorterminal.com/compare/shippo-vs-shipstation.md)\n- [Ship24 vs ShipBob](https://www.anchorterminal.com/compare/ship24-vs-shipbob.md)\n- [Ship24 vs Shippo](https://www.anchorterminal.com/compare/ship24-vs-shippo.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "ShipBob vs Shippo",
        "url": ""
      }
    ],
    "description": "Shippo scores 61.9 (C) on agent readiness against ShipBob's 60.8 (C), and leads in 3 of 7 scored categories. ShipBob leads on reliability and transparency \u0026 trust. Both do shipping rates. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "ShipBob C 60.8",
      "Shippo C 61.9",
      "scores"
    ],
    "h1": "ShipBob vs Shippo",
    "image": "https://www.anchorterminal.com/assets/og/compare-shipbob-vs-shippo.png",
    "path": "/compare/shipbob-vs-shippo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ShipBob vs Shippo for AI agents, C 60.8 vs C 61.9 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/shipbob-vs-shippo"
  },
  "tokens": {
    "markdown": 2100,
    "slim": 730
  },
  "version": 1
}
