{
  "data": {
    "a": {
      "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": 411,
        "ranked": true,
        "rankOf": 842,
        "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-09T11:46:40.293647254Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 159,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 132,
          "p95ms24h": 383,
          "samples24h": 218,
          "samples30d": 218,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 125,
              "ok": 125
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.goshippo.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T11:40:38.937285954Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "goshippo/ai",
            "version": "v1.5.4",
            "released": "2026-07-23",
            "seenAt": "2026-10-08T16:29:07.821314571Z"
          },
          {
            "registry": "mcp-registry",
            "name": "com.shippo/shippo-mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "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-09T11:46:40.293647254Z"
      }
    },
    "answer": "Shippo scores 61.9 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 6 of 7 scored categories. ShippyPro leads on reliability.",
    "b": {
      "slug": "shippypro",
      "name": "ShippyPro",
      "vendor": "Italian Valley S.r.l.",
      "vendorUrl": "https://www.shippypro.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "Multi-carrier shipping platform from ShippyPro (Italian Valley S.r.l., Florence). Its REST API quotes rates on a customer's own carrier contracts, creates labels and returns, validates addresses, books pickups and tracks parcels. API access is sold with the Enterprise plan.",
      "url": "https://www.anchorterminal.com/tools/shippypro",
      "markdownUrl": "https://www.anchorterminal.com/tools/shippypro.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/shippypro.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/shippypro.json",
      "license": "Proprietary service under ShippyPro's Terms \u0026 Conditions. Both OpenAPI files state the licence as Proprietary",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.shippypro.com",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Sales approval, then a key. The help centre says APIs can only be activated with an Enterprise plan and tells users to contact sales. Keys are created in the account panel under API, more than one per account, as Full Access, Maps (pickup-point map only) or PII Excluded (personal data hidden). Calls send `Authorization: Bearer \u003cAPI key\u003e`, per both OpenAPI files. The help centre article still describes the key as a Basic auth username with a blank password. No expiry or rotation was found in the reviewed documentation.",
      "pricing": "paid",
      "pricingNotes": "Enterprise plan, custom price through sales, billed annually. It is the only plan the pricing page lists with full access to the Multicarrier APIs. The self-serve plans (49 to 259 EUR a month at regular monthly prices, up to 4,000 shipments) are marked UI only. A 14-day, 30-order trial needs no card per the terms, and whether a trial account can call the API was not established. No sandbox. The Generic carrier creates test labels and rates. A higher rate limit costs extra (https://www.shippypro.com/en/pricing).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI files, the API page or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://api.shippypro.com/docs",
      "openapi": "https://api.shippypro.com/docs/v1.json",
      "capabilities": [
        "shipping.rates",
        "shipping.labels",
        "shipping.tracking",
        "shipping.address-validation",
        "shipping.returns"
      ],
      "tags": [
        "hosted",
        "paid",
        "sales-led",
        "enterprise",
        "api-key",
        "openapi",
        "webhooks",
        "soap",
        "status-page",
        "sla",
        "europe"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.7,
        "grade": "D",
        "agentReady": false,
        "rank": 718,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 46,
          "maintenance": 25,
          "payments": 5,
          "reliability": 70,
          "schema": 64,
          "security": 51,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Two OpenAPI 3.1 files, a published limit of 20 calls per 10 seconds and a 99.5 per cent monthly SLA with service credits are public. API access needs an Enterprise plan arranged through sales, no changelog or SDK was found, and label creation on v1 has no idempotency key.",
        "bestFor": "A European shipper or logistics platform with its own carrier contracts that already holds a ShippyPro Enterprise plan and wants rates, labels, pickups and tracking across many regional carriers through one API.",
        "strengths": [
          "OpenAPI 3.1 files for v1 (55 operations) and v2 (17 operations) are public at api.shippypro.com/docs, with 812 examples in the v1 file",
          "Published SLA of 99.5 per cent monthly availability with service credits of 0.5 to 5 per cent",
          "API keys come in three types, Full Access, Maps and PII Excluded, and an account can hold several",
          "The account panel keeps API request and response logs, an API error history and webhook logs",
          "The Generic carrier creates test labels and rates without a real carrier or tracking number",
          "The privacy policy lists sub-processors per product area and says customer data is never sold"
        ],
        "weaknesses": [
          "The help centre says APIs can only be activated with an Enterprise plan, which has no public price and starts with sales",
          "No API changelog, release notes or deprecation policy was found, and the terms allow changes without notice",
          "`POST /v1/Ship` takes no idempotency key. Only the 17 v2 operations accept `Idempotency-Key`",
          "Carrier label incidents marked critical appear on the status page on most days from August to October 2026",
          "No official SDK, MCP server or llms.txt was found on the pages read",
          "v1 answers some failures with HTTP 200 and `Status` 2, and `LabelURL` can be a string or an array"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003cAPI key\u003e` and POST a JSON body with `Method` and `Params` to `https://api.shippypro.com/v1/\u003cMethod\u003e`. Parameter names are case-sensitive",
          "Check `Status` and `ErrorMessage` in every `Ship` response. HTTP 200 with `Status` 2 means no label was created",
          "Before retrying a failed `Ship` call, look the order up by `TransactionID`. v1 has no idempotency key, and each label counts against the plan",
          "Test with the Generic carrier. `Ship` and `Edit` calls on a real carrier create real labels",
          "Stay under 20 calls per 10 seconds, and use webhooks for tracking. The docs advise against `GetTracking` in bulk"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.7
          }
        ],
        "editorialScores": {
          "ergonomics": 46,
          "maintenance": 25,
          "payments": 5,
          "reliability": 70,
          "schema": 64,
          "security": 51,
          "transparency": 48
        },
        "provenanceScore": 68
      },
      "connect": {
        "http": "curl -X POST https://api.shippypro.com/v1/Ping \\\n  -H \"Authorization: Bearer \u003cAPI_KEY\u003e\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"Method\": \"Ping\", \"Params\": {}}'"
      },
      "letme": {
        "capability": "https://letme.dev/shipping.rates",
        "tool": "https://letme.dev/shippypro"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Italian Valley S.r.l.",
        "domain": "shippypro.com",
        "domainRegistered": "2016-10-24",
        "endpointOnVendorDomain": true,
        "terms": "https://www.shippypro.com/en/legal/terms",
        "privacy": "https://www.shippypro.com/en/legal/privacy",
        "statusPage": "https://status.shippypro.com",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-09",
        "notes": [
          "The Terms \u0026 Conditions name Italian Valley Srl, registered number 06587610483, Piazza Francesca Morvillo 15, 50144 Firenze, Italy, as owner of the ShippyPro software. They cover every ShippyPro product and service, the API included, and carry no date or version.",
          "The privacy policy names ShippyPro by Italian Valley S.r.l. as data controller and covers shipment sender and recipient data handled by the product, not only the website.",
          "RDAP for shippypro.com gives a registration date of 2016-10-24.",
          "The API answers at api.shippypro.com and the reference is served from the same host.",
          "www.shippypro.com/robots.txt disallows every path outside the language folders, the blog and a short list, so /.well-known/security.txt and /llms.txt were not requested.",
          "No API changelog or release notes page was found on the API page, the reference or the help centre's API section.",
          "The SLA at https://www.shippypro.com/en/legal/sla is stated to be part of the agreement with the customer."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/shippypro.json",
      "live": {
        "slug": "shippypro",
        "probe": {
          "target": "https://api.shippypro.com",
          "method": "get",
          "lastAt": "2026-10-09T11:46:40.325234562Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 80,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 57,
          "p95ms24h": 116,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.shippypro.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-09T11:40:39.243896432Z"
        },
        "updatedAt": "2026-10-09T11:46:40.325234562Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Shippo",
        "b": "Italian Valley S.r.l.",
        "name": "Vendor"
      },
      {
        "a": "https://api.goshippo.com",
        "b": "https://api.shippypro.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "$0.01 per call",
        "b": "not published",
        "name": "Price for shipping rates"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Shippo's terms of use. The SDKs and the goshippo/ai repository (skills and MCP bridge) are MIT",
        "b": "Proprietary service under ShippyPro's Terms \u0026 Conditions. Both OpenAPI files state the licence as Proprietary",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "com.shippo/shippo-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-01",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3 stars, 73k npm/wk, 20k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Shippo scores 61.9 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 6 of 7 scored categories. ShippyPro leads on reliability.",
        "question": "Which is better for AI agents, Shippo or ShippyPro?"
      },
      {
        "answer": "Shippo takes an API key or an OAuth sign-in. ShippyPro needs an API key.",
        "question": "Do Shippo and ShippyPro need an API key?"
      },
      {
        "answer": "Yes. Shippo has a hosted endpoint at https://api.goshippo.com and ShippyPro at https://api.shippypro.com.",
        "question": "Can an agent call Shippo and ShippyPro without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 83 against 64",
          "Agent ergonomics, 64 against 46",
          "Payments \u0026 pricing, 40 against 5",
          "Maintenance \u0026 community, 77 against 25"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Reliability, 70 against 59"
        ],
        "also": null,
        "goodFor": "A European shipper or logistics platform with its own carrier contracts that already holds a ShippyPro Enterprise plan and wants rates, labels, pickups and tracking across many regional carriers through one API.",
        "slug": "shippypro",
        "watchFor": "The help centre says APIs can only be activated with an Enterprise plan, which has no public price and starts with sales"
      }
    ],
    "job": {
      "capability": "shipping.rates",
      "name": "Shipping rates"
    },
    "others": [
      {
        "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/easypost-vs-shippypro.json",
        "title": "EasyPost vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/easypost-vs-shippypro"
      },
      {
        "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/easyship-vs-shippypro.json",
        "title": "Easyship vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-shippypro"
      },
      {
        "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/karrio-vs-shippypro.json",
        "title": "Karrio vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/karrio-vs-shippypro"
      },
      {
        "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/sendcloud-vs-shippypro.json",
        "title": "Sendcloud vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shipbob-vs-shippo.json",
        "title": "ShipBob vs Shippo",
        "url": "https://www.anchorterminal.com/compare/shipbob-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shipbob-vs-shippypro.json",
        "title": "ShipBob vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/shipbob-vs-shippypro"
      },
      {
        "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/shippypro-vs-shipstation.json",
        "title": "ShippyPro vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/shippypro-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-shippo.json",
        "title": "Ship24 vs Shippo",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-shippypro.json",
        "title": "Ship24 vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shippypro"
      }
    ],
    "scores": [
      {
        "by": 11,
        "edge": "shippypro",
        "key": "reliability",
        "name": "Reliability",
        "shippo": 59,
        "shippypro": 70,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "shippo",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "shippo": 83,
        "shippypro": 64,
        "weight": 13
      },
      {
        "by": 18,
        "edge": "shippo",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "shippo": 64,
        "shippypro": 46,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "shippo",
        "key": "security",
        "name": "Security \u0026 auth",
        "shippo": 52,
        "shippypro": 51,
        "weight": 14
      },
      {
        "by": 35,
        "edge": "shippo",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "shippo": 40,
        "shippypro": 5,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 52,
        "edge": "shippo",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "shippo": 77,
        "shippypro": 25,
        "weight": 7
      },
      {
        "by": 3,
        "edge": "shippo",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "shippo": 61,
        "shippypro": 58,
        "weight": 7
      }
    ],
    "summary": "Shippo scores 61.9 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 6 of 7 scored categories. ShippyPro leads on reliability. Both do shipping rates.",
    "verdicts": {
      "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.",
      "shippypro": "Two OpenAPI 3.1 files, a published limit of 20 calls per 10 seconds and a 99.5 per cent monthly SLA with service credits are public. API access needs an Enterprise plan arranged through sales, no changelog or SDK was found, and label creation on v1 has no idempotency key."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/shippo-vs-shippypro",
    "json": "https://www.anchorterminal.com/compare/shippo-vs-shippypro.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/shippo-vs-shippypro.md",
    "slim": "https://www.anchorterminal.com/compare/shippo-vs-shippypro.min.md"
  },
  "markdown": "Shippo scores 61.9 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 6 of 7 scored categories. ShippyPro leads on reliability. Both do shipping rates.\n\n- Shippo: grade C, 61.9/100, rank #411 of 842. Markdown https://www.anchorterminal.com/tools/shippo.md · JSON https://www.anchorterminal.com/api/v1/tools/shippo.json\n- ShippyPro: grade D, 48.7/100, rank #718 of 842. Markdown https://www.anchorterminal.com/tools/shippypro.md · JSON https://www.anchorterminal.com/api/v1/tools/shippypro.json\n\n## Which one, for what\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- Schema \u0026 documentation, 83 against 64\n- Agent ergonomics, 64 against 46\n- Payments \u0026 pricing, 40 against 5\n- Maintenance \u0026 community, 77 against 25\n\nWatch for: No idempotency key on label purchase or other writes. Only the Reporting API accepts one\n\n### ShippyPro (D)\n\nGood for: A European shipper or logistics platform with its own carrier contracts that already holds a ShippyPro Enterprise plan and wants rates, labels, pickups and tracking across many regional carriers through one API.\n\nAhead on:\n- Reliability, 70 against 59\n\nWatch for: The help centre says APIs can only be activated with an Enterprise plan, which has no public price and starts with sales\n\n\n## Score by category\n\n| Category | Weight | Shippo | ShippyPro | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 59 | 70 | ShippyPro +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 64 | Shippo +19 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 46 | Shippo +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 52 | 51 | Shippo +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 5 | Shippo +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 77 | 25 | Shippo +52 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 58 | Shippo +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.9 · C** | **48.7 · D** | |\n\n## Facts side by side\n\n| Fact | Shippo | ShippyPro |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Shippo | Italian Valley S.r.l. |\n| Hosted endpoint | `https://api.goshippo.com` | `https://api.shippypro.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\n| Price for shipping rates | $0.01 per call | not published |\n| x402 | no | no |\n| Licence | Proprietary service under Shippo's terms of use. The SDKs and the goshippo/ai repository (skills and MCP bridge) are MIT | Proprietary service under ShippyPro's Terms \u0026 Conditions. Both OpenAPI files state the licence as Proprietary |\n| Tools exposed | 4 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `com.shippo/shippo-mcp` | not listed |\n| Last release | 2026-10-01 | none |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | couldn't be read | no date given |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | 3 stars, 73k npm/wk, 20k PyPI/wk | none |\n\n## Verdicts\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**ShippyPro.** Two OpenAPI 3.1 files, a published limit of 20 calls per 10 seconds and a 99.5 per cent monthly SLA with service credits are public. API access needs an Enterprise plan arranged through sales, no changelog or SDK was found, and label creation on v1 has no idempotency key.\n\n## Before you call either\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### ShippyPro\n\n1. Send `Authorization: Bearer \u003cAPI key\u003e` and POST a JSON body with `Method` and `Params` to `https://api.shippypro.com/v1/\u003cMethod\u003e`. Parameter names are case-sensitive\n2. Check `Status` and `ErrorMessage` in every `Ship` response. HTTP 200 with `Status` 2 means no label was created\n3. Before retrying a failed `Ship` call, look the order up by `TransactionID`. v1 has no idempotency key, and each label counts against the plan\n4. Test with the Generic carrier. `Ship` and `Edit` calls on a real carrier create real labels\n5. Stay under 20 calls per 10 seconds, and use webhooks for tracking. The docs advise against `GetTracking` in bulk\n\n## Questions\n\n### Which is better for AI agents, Shippo or ShippyPro?\n\nShippo scores 61.9 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 6 of 7 scored categories. ShippyPro leads on reliability.\n\n### Do Shippo and ShippyPro need an API key?\n\nShippo takes an API key or an OAuth sign-in. ShippyPro needs an API key.\n\n### Can an agent call Shippo and ShippyPro without installing anything?\n\nYes. Shippo has a hosted endpoint at https://api.goshippo.com and ShippyPro at https://api.shippypro.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/shippo-vs-shippypro.json, and with the fewest tokens: https://www.anchorterminal.com/compare/shippo-vs-shippypro.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"shippo\", \"b\": \"shippypro\"}`. From a terminal: `anchor compare shippo shippypro`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/shippo.json and https://www.anchorterminal.com/api/v1/tools/shippypro.json\n\n## Other comparisons with Shippo or ShippyPro\n\n- [EasyPost vs Shippo](https://www.anchorterminal.com/compare/easypost-vs-shippo.md)\n- [EasyPost vs ShippyPro](https://www.anchorterminal.com/compare/easypost-vs-shippypro.md)\n- [Easyship vs Shippo](https://www.anchorterminal.com/compare/easyship-vs-shippo.md)\n- [Easyship vs ShippyPro](https://www.anchorterminal.com/compare/easyship-vs-shippypro.md)\n- [Karrio vs Shippo](https://www.anchorterminal.com/compare/karrio-vs-shippo.md)\n- [Karrio vs ShippyPro](https://www.anchorterminal.com/compare/karrio-vs-shippypro.md)\n- [Sendcloud vs Shippo](https://www.anchorterminal.com/compare/sendcloud-vs-shippo.md)\n- [Sendcloud vs ShippyPro](https://www.anchorterminal.com/compare/sendcloud-vs-shippypro.md)\n- [ShipBob vs Shippo](https://www.anchorterminal.com/compare/shipbob-vs-shippo.md)\n- [ShipBob vs ShippyPro](https://www.anchorterminal.com/compare/shipbob-vs-shippypro.md)\n- [Shippo vs ShipStation API](https://www.anchorterminal.com/compare/shippo-vs-shipstation.md)\n- [ShippyPro vs ShipStation API](https://www.anchorterminal.com/compare/shippypro-vs-shipstation.md)\n- [Ship24 vs Shippo](https://www.anchorterminal.com/compare/ship24-vs-shippo.md)\n- [Ship24 vs ShippyPro](https://www.anchorterminal.com/compare/ship24-vs-shippypro.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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": "Shippo vs ShippyPro",
        "url": ""
      }
    ],
    "description": "Shippo scores 61.9 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 6 of 7 scored categories. ShippyPro leads on reliability. Both do shipping rates. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Shippo C 61.9",
      "ShippyPro D 48.7",
      "scores"
    ],
    "h1": "Shippo vs ShippyPro",
    "image": "https://www.anchorterminal.com/assets/og/compare-shippo-vs-shippypro.png",
    "path": "/compare/shippo-vs-shippypro",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Shippo vs ShippyPro for AI agents, C 61.9 vs D 48.7 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/shippo-vs-shippypro"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 780
  },
  "version": 1
}
