{
  "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-08T22:39:58.682153763Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 128,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 134,
          "p95ms24h": 297,
          "samples24h": 36,
          "samples30d": 36,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 36,
              "ok": 36
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.shipbob.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T22:39:40.455114726Z"
        },
        "updatedAt": "2026-10-08T22:39:58.682153763Z"
      }
    },
    "answer": "ShipBob scores 60.8 (C) on agent readiness against ShipStation API's 59.3 (C), and leads in 4 of 7 scored categories. ShipStation API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "shipstation",
      "name": "ShipStation API",
      "vendor": "Auctane LLC d/b/a ShipStation",
      "vendorUrl": "https://www.shipstation.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "Multi-carrier shipping API from ShipStation, an Auctane brand. API v2 at api.shipstation.com/v2 quotes rates, buys and voids labels, validates addresses, tracks parcels and creates return labels, with batches, manifests, pickups and inventory.",
      "url": "https://www.anchorterminal.com/tools/shipstation",
      "markdownUrl": "https://www.anchorterminal.com/tools/shipstation.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/shipstation.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/shipstation.json",
      "repo": "https://github.com/ShipEngine/shipengine-openapi",
      "license": "Proprietary service under ShipStation's terms of service. The v2 OpenAPI file is marked MIT and the SDKs on GitHub are Apache 2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.shipstation.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "shipengine"
        },
        {
          "registry": "pypi",
          "name": "shipengine"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API key sent in an `API-Key` header, with no partner or sales approval. Two routes lead to a v2 key. A ShipStation API account (formerly ShipEngine) gets production keys and `TEST_` sandbox keys from api-portal.shipstation.com on every plan, Free included. A ShipStation platform account needs the Standard or Premium plan and generates one v2 key at a time in API Settings, shown once. The docs say the key gives full access to the account. No OAuth, scopes or read-only keys were found.",
      "pricing": "freemium",
      "pricingNotes": "ShipStation API (formerly ShipEngine) has a Free plan at $0 with a sandbox and, by the pricing page, no card. Advanced is $75 a month for 1,000 labels ($0.075 a label over), $325 for 5,000 ($0.065) or $600 for 10,000 ($0.060), and Enterprise is by quote from 25,000 shipments a month. On the ShipStation platform the API comes with Standard (from $29.99 a month for 50 shipments) and Premium (from $349.99), after a 30-day trial with no card, and has no sandbox. Postage is charged separately at carrier rates (checked 2026-10-07).",
      "priceSummary": "$75 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the v2 docs, the OpenAPI spec or the pricing pages (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 6835,
        "pypiWeekly": null,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://docs.shipstation.com/api-overview",
      "llmsTxt": "https://docs.shipstation.com/llms.txt",
      "openapi": "https://docs.shipstation.com/_bundle/apis/@shipstation-v2/openapi.yaml",
      "capabilities": [
        "shipping.rates",
        "shipping.labels",
        "shipping.tracking",
        "shipping.address-validation",
        "shipping.returns"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "sandbox",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "python",
        "javascript",
        "dotnet",
        "status-page"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.3,
        "grade": "C",
        "agentReady": false,
        "rank": 433,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 73,
          "payments": 40,
          "reliability": 64,
          "schema": 83,
          "security": 32,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-07"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 contract with 173 operations, Markdown docs for agents and a free ShipStation API plan with a sandbox make a first rate quote or test label reachable without a contract. One API key carries full account access, with no scopes, read-only mode or idempotency keys on label purchases.",
        "bestFor": "An agent working inside a merchant's existing ShipStation account (orders, batches, inventory, labels), or a developer who wants a free sandbox through the ShipStation API plans.",
        "strengths": [
          "Public OpenAPI 3.1 spec for v2 with 173 operations and 372 schemas, plus llms.txt and a Markdown copy of every docs page",
          "ShipStation API Free plan at $0 with no card stated, and a sandbox on every ShipStation API plan through `TEST_` keys",
          "200 requests a minute by default, with `Retry-After` on 429 responses",
          "Errors carry `error_source`, `error_type`, `error_code` and a `request_id`, and separate carrier faults from ShipStation's own",
          "Release notes show new v2 endpoints in every month from June to October 2026"
        ],
        "weaknesses": [
          "One API key with full account access. No scopes, read-only keys or approval step before a label is bought",
          "No idempotency key on label purchase, so a retry after a timeout can buy a second label",
          "ShipStation platform accounts have no sandbox, and API access needs the Standard plan (from $29.99 a month) or Premium",
          "The official SDKs call api.shipengine.com/v1, and the JavaScript SDK was last tagged on 31 January 2024",
          "No security.txt, certification, disclosure policy, DPA or named subprocessor list found on the pages we read"
        ],
        "agentNotes": [
          "Send the key in an `API-Key` header to https://api.shipstation.com/v2. A key that starts `TEST_` runs in the sandbox on the same host",
          "Call GET /v2/carriers first. Rate and label calls need `carrier_ids` or a `carrier_id` and a `service_code` from that account",
          "Don't blindly retry POST /v2/labels after a timeout. List labels first, then void a duplicate with PUT /v2/labels/{label_id}/void",
          "Check the `errors` array on 2XX responses too, and read `error_source` to tell a carrier fault from a ShipStation one",
          "On a platform (Standard or Premium) key every label is real and charged. Ask the owner before buying, and void test labels at once"
        ],
        "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": 59.3
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 73,
          "payments": 40,
          "reliability": 64,
          "schema": 83,
          "security": 32,
          "transparency": 42
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl -iX GET https://api.shipstation.com/v2/carriers \\\n-H 'API-Key: __YOUR_API_KEY_HERE__'",
        "claudeCode": "claude mcp add --transport http shipstation-api https://docs.shipstation.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/shipping.rates",
        "tool": "https://letme.dev/shipstation"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "ShipStation API Free",
          "unit": "month",
          "usd": 0,
          "note": "sandbox included, postage extra"
        },
        {
          "item": "ShipStation API Advanced, 1,000 labels",
          "unit": "month",
          "usd": 75,
          "note": "$325 for 5,000 labels, $600 for 10,000"
        },
        {
          "item": "Label over the Advanced 1,000 allowance",
          "unit": "tx",
          "usd": 0.075,
          "note": "$0.065 on the 5,000 tier, $0.060 on the 10,000 tier"
        },
        {
          "item": "ShipStation platform Standard, 50 shipments",
          "unit": "month",
          "usd": 29.99,
          "note": "lowest platform plan with API access"
        }
      ],
      "provenance": {
        "legalEntity": "Auctane LLC d/b/a ShipStation",
        "domain": "shipstation.com",
        "domainRegistered": "2005-04-14",
        "endpointOnVendorDomain": true,
        "terms": "https://www.shipstation.com/terms-of-service/",
        "privacy": "https://www.shipstationglobal.com/legal/privacy-policy/",
        "statusPage": "https://status.shipstation.com",
        "changelog": "https://docs.shipstation.com/apis/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-07",
        "notes": [
          "The terms of service, effective 16 July 2026, name Auctane LLC d/b/a ShipStation and its affiliates, with Auctane, Inc. as parent.",
          "www.shipstation.com/privacy-policy/ redirects through auctane.com to www.shipstationglobal.com/legal/privacy-policy/, Auctane, Inc.'s policy for ShipStation, ShipEngine, Stamps.com and its other brands, effective 18 March 2026.",
          "/.well-known/security.txt returns 404 on www.shipstation.com, api.shipstation.com, docs.shipstation.com and www.shipstationglobal.com.",
          "The v2 API answers at api.shipstation.com. Webhook signing keys and the older v1 endpoints sit on api.shipengine.com, and the docs link a dashboard at dashboard.shipengine.com.",
          "RDAP for shipstation.com gives a registration date of 2005-04-14."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/shipstation.json",
      "live": {
        "slug": "shipstation",
        "probe": {
          "target": "https://api.shipstation.com/v2",
          "method": "get",
          "lastAt": "2026-10-08T22:39:58.81100989Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 340,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 339,
          "p95ms24h": 392,
          "samples24h": 79,
          "samples30d": 79,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 79,
              "ok": 79
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.shipstation.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T22:39:40.632078551Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "shipengine",
            "version": "1.0.7",
            "seenAt": "2026-10-08T16:29:10.143981506Z"
          },
          {
            "registry": "pypi",
            "name": "shipengine",
            "version": "2.1.1",
            "released": "2026-05-06",
            "seenAt": "2026-10-08T16:29:10.99861941Z"
          }
        ],
        "githubStars": 29,
        "npmWeekly": 6835,
        "pypiWeekly": 3230,
        "securityTxt": {
          "url": "https://shipstation.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:39.702773194Z"
        },
        "pages": [
          {
            "url": "https://docs.shipstation.com/apis/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:24.519853433Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0c732bd7a0dc"
          },
          {
            "url": "https://www.shipstationglobal.com/legal/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:24.90838573Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6fef845000ca"
          },
          {
            "url": "https://www.shipstation.com/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:23.462749118Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d03451a2fa29"
          }
        ],
        "updatedAt": "2026-10-08T22:39:58.81100989Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "ShipBob, Inc.",
        "b": "Auctane LLC d/b/a ShipStation",
        "name": "Vendor"
      },
      {
        "a": "https://api.shipbob.com",
        "b": "https://api.shipstation.com/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "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 ShipStation's terms of service. The v2 OpenAPI file is marked MIT and the SDKs on GitHub are Apache 2.0",
        "name": "Licence"
      },
      {
        "a": "73",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-07-31",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "2026-05-22",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2024-03-29",
        "b": "2026-03-18",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "6.8k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "ShipBob scores 60.8 (C) on agent readiness against ShipStation API's 59.3 (C), and leads in 4 of 7 scored categories. ShipStation API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, ShipBob or ShipStation API?"
      },
      {
        "answer": "ShipBob takes an API key or an OAuth sign-in. ShipStation API needs an API key.",
        "question": "Do ShipBob and ShipStation API need an API key?"
      },
      {
        "answer": "Yes. ShipBob has a hosted endpoint at https://api.shipbob.com and ShipStation API at https://api.shipstation.com/v2.",
        "question": "Can an agent call ShipBob and ShipStation API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 77 against 64",
          "Security \u0026 auth, 55 against 32",
          "Transparency \u0026 trust, 77 against 64"
        ],
        "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, 73 against 41"
        ],
        "also": null,
        "goodFor": "An agent working inside a merchant's existing ShipStation account (orders, batches, inventory, labels), or a developer who wants a free sandbox through the ShipStation API plans.",
        "slug": "shipstation",
        "watchFor": "One API key with full account access. No scopes, read-only keys or approval step before a label is bought"
      }
    ],
    "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-shipstation.json",
        "title": "EasyPost vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/easypost-vs-shipstation"
      },
      {
        "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-shipstation.json",
        "title": "Easyship vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-shipstation"
      },
      {
        "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-shipstation.json",
        "title": "Karrio vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/karrio-vs-shipstation"
      },
      {
        "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-shipstation.json",
        "title": "Sendcloud vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-shipstation"
      },
      {
        "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/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-shipstation.json",
        "title": "Ship24 vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shipstation"
      }
    ],
    "scores": [
      {
        "by": 13,
        "edge": "shipbob",
        "key": "reliability",
        "name": "Reliability",
        "shipbob": 77,
        "shipstation": 64,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "shipbob",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "shipbob": 85,
        "shipstation": 83,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "shipstation",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "shipbob": 56,
        "shipstation": 64,
        "weight": 13
      },
      {
        "by": 23,
        "edge": "shipbob",
        "key": "security",
        "name": "Security \u0026 auth",
        "shipbob": 55,
        "shipstation": 32,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "shipstation",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "shipbob": 20,
        "shipstation": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "shipstation",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "shipbob": 41,
        "shipstation": 73,
        "weight": 7
      },
      {
        "by": 13,
        "edge": "shipbob",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "shipbob": 77,
        "shipstation": 64,
        "weight": 7
      }
    ],
    "summary": "ShipBob scores 60.8 (C) on agent readiness against ShipStation API's 59.3 (C), and leads in 4 of 7 scored categories. ShipStation API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. 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.",
      "shipstation": "A public OpenAPI 3.1 contract with 173 operations, Markdown docs for agents and a free ShipStation API plan with a sandbox make a first rate quote or test label reachable without a contract. One API key carries full account access, with no scopes, read-only mode or idempotency keys on label purchases."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation",
    "json": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation.md",
    "slim": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation.min.md"
  },
  "markdown": "ShipBob scores 60.8 (C) on agent readiness against ShipStation API's 59.3 (C), and leads in 4 of 7 scored categories. ShipStation API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. 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- ShipStation API: grade C, 59.3/100, rank #433 of 722. Markdown https://www.anchorterminal.com/tools/shipstation.md · JSON https://www.anchorterminal.com/api/v1/tools/shipstation.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 64\n- Security \u0026 auth, 55 against 32\n- Transparency \u0026 trust, 77 against 64\n\nWatch for: No public price. Receiving, storage and pick, pack and ship fees come only in a quote from sales\n\n### ShipStation API (C)\n\nGood for: An agent working inside a merchant's existing ShipStation account (orders, batches, inventory, labels), or a developer who wants a free sandbox through the ShipStation API plans.\n\nAhead on:\n- Agent ergonomics, 64 against 56\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 73 against 41\n\nWatch for: One API key with full account access. No scopes, read-only keys or approval step before a label is bought\n\n\n## Score by category\n\n| Category | Weight | ShipBob | ShipStation API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 77 | 64 | ShipBob +13 |\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 | ShipStation API +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 32 | ShipBob +23 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | ShipStation API +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 41 | 73 | ShipStation API +32 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 64 | ShipBob +13 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **60.8 · C** | **59.3 · C** | |\n\n## Facts side by side\n\n| Fact | ShipBob | ShipStation API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | ShipBob, Inc. | Auctane LLC d/b/a ShipStation |\n| Hosted endpoint | `https://api.shipbob.com` | `https://api.shipstation.com/v2` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Freemium |\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 ShipStation's terms of service. The v2 OpenAPI file is marked MIT and the SDKs on GitHub are Apache 2.0 |\n| Tools exposed | 73 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-07-31 | 2026-10-01 |\n| Terms last updated | 2026-05-22 | no date given |\n| Privacy policy last updated | 2024-03-29 | 2026-03-18 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | none | 6.8k npm/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**ShipStation API.** A public OpenAPI 3.1 contract with 173 operations, Markdown docs for agents and a free ShipStation API plan with a sandbox make a first rate quote or test label reachable without a contract. One API key carries full account access, with no scopes, read-only mode or idempotency keys on label purchases.\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### ShipStation API\n\n1. Send the key in an `API-Key` header to https://api.shipstation.com/v2. A key that starts `TEST_` runs in the sandbox on the same host\n2. Call GET /v2/carriers first. Rate and label calls need `carrier_ids` or a `carrier_id` and a `service_code` from that account\n3. Don't blindly retry POST /v2/labels after a timeout. List labels first, then void a duplicate with PUT /v2/labels/{label_id}/void\n4. Check the `errors` array on 2XX responses too, and read `error_source` to tell a carrier fault from a ShipStation one\n5. On a platform (Standard or Premium) key every label is real and charged. Ask the owner before buying, and void test labels at once\n\n## Questions\n\n### Which is better for AI agents, ShipBob or ShipStation API?\n\nShipBob scores 60.8 (C) on agent readiness against ShipStation API's 59.3 (C), and leads in 4 of 7 scored categories. ShipStation API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.\n\n### Do ShipBob and ShipStation API need an API key?\n\nShipBob takes an API key or an OAuth sign-in. ShipStation API needs an API key.\n\n### Can an agent call ShipBob and ShipStation API without installing anything?\n\nYes. ShipBob has a hosted endpoint at https://api.shipbob.com and ShipStation API at https://api.shipstation.com/v2.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/shipbob-vs-shipstation.json, and with the fewest tokens: https://www.anchorterminal.com/compare/shipbob-vs-shipstation.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"shipbob\", \"b\": \"shipstation\"}`. From a terminal: `anchor compare shipbob shipstation`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/shipbob.json and https://www.anchorterminal.com/api/v1/tools/shipstation.json\n\n## Other comparisons with ShipBob or ShipStation API\n\n- [EasyPost vs ShipBob](https://www.anchorterminal.com/compare/easypost-vs-shipbob.md)\n- [EasyPost vs ShipStation API](https://www.anchorterminal.com/compare/easypost-vs-shipstation.md)\n- [Easyship vs ShipBob](https://www.anchorterminal.com/compare/easyship-vs-shipbob.md)\n- [Easyship vs ShipStation API](https://www.anchorterminal.com/compare/easyship-vs-shipstation.md)\n- [Karrio vs ShipBob](https://www.anchorterminal.com/compare/karrio-vs-shipbob.md)\n- [Karrio vs ShipStation API](https://www.anchorterminal.com/compare/karrio-vs-shipstation.md)\n- [Sendcloud vs ShipBob](https://www.anchorterminal.com/compare/sendcloud-vs-shipbob.md)\n- [Sendcloud vs ShipStation API](https://www.anchorterminal.com/compare/sendcloud-vs-shipstation.md)\n- [ShipBob vs Shippo](https://www.anchorterminal.com/compare/shipbob-vs-shippo.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 ShipStation API](https://www.anchorterminal.com/compare/ship24-vs-shipstation.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 ShipStation API",
        "url": ""
      }
    ],
    "description": "ShipBob scores 60.8 (C) on agent readiness against ShipStation API's 59.3 (C), and leads in 4 of 7 scored categories. ShipStation API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. Both do shipping rates. Category scores, facts, verdicts and agent…",
    "facts": [
      "ShipBob C 60.8",
      "ShipStation API C 59.3",
      "scores"
    ],
    "h1": "ShipBob vs ShipStation API",
    "image": "https://www.anchorterminal.com/assets/og/compare-shipbob-vs-shipstation.png",
    "path": "/compare/shipbob-vs-shipstation",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ShipBob vs ShipStation API for AI agents, C 60.8 vs C 59.3",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 680
  },
  "version": 1
}
