{
  "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",
      "dns": "shipbob.grade.anchorterminal.com",
      "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": 89,
      "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": 61.3,
        "grade": "C",
        "agentReady": false,
        "rank": 558,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 51,
          "payments": 20,
          "reliability": 75,
          "schema": 85,
          "security": 55,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "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 89 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 or safe-retry guidance. 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": 4,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.3
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 51,
          "payments": 20,
          "reliability": 75,
          "schema": 85,
          "security": 55,
          "transparency": 69
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "lastMoved": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/shipbob.json",
      "live": {
        "slug": "shipbob",
        "probe": {
          "target": "https://api.shipbob.com",
          "method": "get",
          "lastAt": "2026-11-04T20:47:14.315569935Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 157,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 153,
          "p95ms24h": 387,
          "samples24h": 246,
          "samples30d": 6775,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 214,
              "ok": 214
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.shipbob.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:39:55.956163123Z"
        },
        "githubStars": 0,
        "securityTxt": {
          "url": "https://shipbob.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:36.584919798Z"
        },
        "llmsTxt": {
          "url": "https://developer.shipbob.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-04T15:24:13.208251408Z"
        },
        "domain": {
          "domain": "shipbob.com",
          "registered": "2014-03-12",
          "source": "https://rdap.verisign.com/com/v1/domain/shipbob.com",
          "checkedAt": "2026-11-01T14:07:11.020954507Z"
        },
        "pages": [
          {
            "url": "https://developer.shipbob.com/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-04T08:18:26.248746477Z",
            "changedAt": "2026-10-28T04:12:28.999036119Z",
            "fingerprint": "fe27b7a5ba42"
          },
          {
            "url": "https://www.shipbob.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-04T08:45:10.382949234Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d7940a8e08df"
          },
          {
            "url": "https://www.shipbob.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:45:12.717543561Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a96e9e7bdfbc"
          },
          {
            "url": "https://www.shipbob.com/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:45:15.039508634Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "32cbec402cde"
          }
        ],
        "github": {
          "repo": "shipbob/mcp-ai-tutorials",
          "checkedAt": "2026-11-02T09:25:09.983450346Z",
          "stars": 0,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-08-20T17:41:50Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0
        },
        "updatedAt": "2026-11-04T20:47:14.315569935Z"
      }
    },
    "answer": "ShipBob scores 61.3 (C) on agent readiness against TrackingMore's 41.8 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "trackingmore",
      "name": "TrackingMore",
      "vendor": "CHANNELWILL CO., LIMITED",
      "vendorUrl": "https://www.trackingmore.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "TrackingMore is a multi-carrier parcel tracking service run by CHANNELWILL CO., LIMITED under the CWILL brand. Its REST API v4 detects couriers, creates and reads trackings, retracks expired ones and tracks air waybills, with webhooks for status changes.",
      "url": "https://www.anchorterminal.com/tools/trackingmore",
      "markdownUrl": "https://www.anchorterminal.com/tools/trackingmore.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/trackingmore.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/trackingmore.json",
      "dns": "trackingmore.grade.anchorterminal.com",
      "repo": "https://github.com/TrackingMore-API/trackingmore-sdk-nodejs",
      "license": "Proprietary hosted service under the CWILL Terms of Service. The seven official SDKs on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.trackingmore.com/v4",
      "packages": [
        {
          "registry": "npm",
          "name": "trackingmore-sdk-nodejs"
        },
        {
          "registry": "pypi",
          "name": "trackingmore-sdk-python"
        },
        {
          "registry": "go",
          "name": "github.com/TrackingMore-API/trackingmore-sdk-go"
        }
      ],
      "auth": "api-key",
      "authNotes": "An API key sent in the Tracking-Api-Key header, generated in the web app under Developer, API key, and shown once. At most four keys per account, deleted from the same page. Every key has full account access and no scopes were found. Access is self-serve after a browser signup; the pricing page gives two keys on Basic, five on Pro and eight on Enterprise.",
      "pricing": "freemium",
      "pricingNotes": "Plans are priced in credits a month with a Free plan, Basic, Pro and a custom Enterprise plan, and a 14-day free trial. The plan prices on the pricing page render by script and were not read; the API page says tracking starts from $0.03 a tracked order and shows figures of $0.0318, $0.036 and $0.037. SMS notifications and translation cost extra credits. Enterprise adds custom rate limits and invoice payment (https://www.trackingmore.com/pricing and https://www.trackingmore.com/tracking-api, checked 2026-11-03).",
      "priceSummary": "$0.03 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the SDK READMEs, the support centre or the pricing page (checked 2026-11-03). Plans are paid by card in the web app, or by invoice on Enterprise.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 6,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://www.trackingmore.com/docs/trackingmore/",
      "capabilities": [
        "shipping.tracking"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "api-key",
        "webhooks",
        "free-tier",
        "free-trial",
        "freemium",
        "status-page",
        "python",
        "typescript",
        "go",
        "java",
        "php",
        "ruby",
        "dotnet"
      ],
      "lastRelease": "2024-12-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.8,
        "grade": "E",
        "agentReady": false,
        "rank": 1187,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 19,
          "payments": 23,
          "reliability": 65,
          "schema": 31,
          "security": 31,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A small tracking API with published per-endpoint rate limits, meta error codes, a free courier detection call and SDKs in seven languages. The reference docs render by script with no OpenAPI file, plan prices weren't readable, one key has full access, the SDKs date from 2024 and the legal documents belong to the CWILL group.",
        "bestFor": "An agent that reports where a parcel is across many carriers from a tracking number, with a cheap per-tracking price.",
        "strengths": [
          "Nine v4 calls cover detect, create, batch create of 40, get, update, delete, retrack and air waybills, with webhooks for status changes",
          "Rate limits published per endpoint, 3 requests a second on create and 10 a second elsewhere, with a stated 120-second wait after a 429",
          "HTTP and meta codes with messages, including 4101 for a duplicate tracking, so a retried create is rejected rather than doubled",
          "Official SDKs in PHP, Python, Node, Java, Go, Ruby and .NET, MIT, plus a Postman collection",
          "Free plan and a 14-day trial, with courier detection free on v4"
        ],
        "weaknesses": [
          "The API reference renders by script and no OpenAPI file, llms.txt or Markdown docs were found",
          "One API key with full access, at most four per account, no scopes and no read-only key",
          "No idempotency key, no Retry-After, and no SLA beyond a 99.99 per cent uptime line on the Enterprise plan",
          "The SDKs were last updated between February and December 2024, and no dated API changelog was found",
          "Plan prices render by script and were not read; the terms and privacy policy are CWILL group documents that name different entities per product"
        ],
        "agentNotes": [
          "Send the key as `Tracking-Api-Key` to https://api.trackingmore.com/v4; the v2 header name `Trackingmore-Api-Key` and the v3 path are the older versions",
          "Call `POST /v4/couriers/detect` first when the carrier is unknown (free on v4), then `POST /v4/trackings/create` with `tracking_number` and `courier_code`; the create response already carries the tracking result",
          "Create up to 40 shipments at once with `POST /v4/trackings/batch` and read them with `GET /v4/trackings/get`, which filters by tracking numbers, courier and created date",
          "Treat meta code 4101 as an existing tracking rather than a failure, and 4190 as a plan quota to raise with the person; after a 429 wait 120 seconds",
          "Stay under 3 creates a second and 10 requests a second on other calls per account, and prefer a webhook (same version as the API) to polling"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.8
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 19,
          "payments": 23,
          "reliability": 65,
          "schema": 31,
          "security": 31,
          "transparency": 39
        },
        "provenanceScore": 74,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install trackingmore-sdk-nodejs",
        "http": "curl -H \"Tracking-Api-Key: $TRACKINGMORE_API_KEY\" https://api.trackingmore.com/v4/couriers/all"
      },
      "letme": {
        "capability": "https://letme.dev/shipping.tracking",
        "tool": "https://letme.dev/trackingmore"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Tracked order",
          "unit": "tx",
          "usd": 0.03,
          "note": "the from price on the API page; plan prices render by script and were not read"
        }
      ],
      "provenance": {
        "legalEntity": "CHANNELWILL CO., LIMITED",
        "domain": "trackingmore.com",
        "domainRegistered": "2014-10-27",
        "endpointOnVendorDomain": true,
        "terms": "https://www.cwill.com/terms-of-service/",
        "privacy": "https://www.cwill.com/privacy-policy/",
        "statusPage": "https://status.trackingmore.com/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "trackingmore.com's legal links redirect to cwill.com. The CWILL privacy policy (effective 8 August 2026) names CHANNELWILL CO., LIMITED, Workspace B15, 2/F, Wing Cheung Industrial Building, 58-70 Kwai Cheong Road, Hong Kong, as data controller for TrackingMore, and CWILL INC of Dover, Delaware, for the CWILL Order Tracking and other products. The CWILL Terms of Service (effective 9 January 2026) cover the whole product family and say the contracting entity depends on the product.",
          "The CWILL terms refer to an Acceptable Use Policy and a DPA at cwill.com/legal/dpa/, and a sub-processor list at trust.cwill.com/subprocessors, none of which was read.",
          "www.trackingmore.com/robots.txt disallows nothing. support.trackingmore.com/robots.txt disallows nothing. www.cwill.com/robots.txt allows named AI crawlers and disallows search and admin paths for others, with a crawl delay of 5 seconds. status.trackingmore.com was read without a robots.txt check of its own.",
          "The API answers at api.trackingmore.com, a vendor subdomain.",
          "www.trackingmore.com/.well-known/security.txt returns 404, and no security page was found on trackingmore.com (the /security path returns 404).",
          "RDAP gives trackingmore.com a registration date of 27 October 2014."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/trackingmore.json",
      "live": {
        "slug": "trackingmore",
        "probe": {
          "target": "https://api.trackingmore.com/v4",
          "method": "get",
          "lastAt": "2026-11-04T20:47:20.612787952Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 630,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 599,
          "p95ms24h": 1041,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.trackingmore.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:32:39.655302878Z"
        },
        "securityTxt": {
          "url": "https://trackingmore.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:27.177236947Z"
        },
        "updatedAt": "2026-11-04T20:47:20.612787952Z"
      }
    },
    "edges": [
      {
        "by": 54,
        "category": "schema",
        "leads": "shipbob",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.0 spec for each version at marketplaceapi.shipbob.com, 89 operations in 2026-07. The `openapi.json` link in the docs index returns an HTML page, not the spec (25). llms.txt per version and a Markdown copy of each page (10). 88 of 89 operations have a description, and some say when to use them, such as the inventory level call for current stock questions. Few say when not to (14 of 20). All 199 parameters have a schema, with 46 enums and required fields marked. Sort order and shipping method are free strings, and many filters are comma-separated lists (10 of 15). 504 examples. 401 and 403 are documented on 64 operations, 400 on 58 and 422 on 18, 429 on none, and error bodies differ by domain, with RFC 7807 problem details in some and an `errors` array in others (11 of 15). Date-based versions, an upgrade guide per version and dated release notes (15).",
          "b": "No OpenAPI or similar file was found in the docs, the SDK repositories or a search, and the reference at trackingmore.com/docs renders by script so its schemas were not read (0 of 25). No llms.txt or Markdown docs (0). The official SDK READMEs give one line per call, and the support centre explains when to pair create with get or a webhook and that the create response carries the result (8 of 20). Field names and the required tracking_number and courier_code appear in the SDK examples, with no types, enums or constraints readable (5 of 15). Examples in seven SDK languages and a table of HTTP and meta codes with messages (12 of 15). v4 in the path with v2 and v3 still served, and the support centre says there is no changelog for switching versions. No dated API changelog was found (6 of 15). 0 + 0 + 8 + 5 + 12 + 6 = 31."
        },
        "scores": {
          "a": 85,
          "b": 31
        }
      },
      {
        "by": 32,
        "category": "maintenance",
        "leads": "shipbob",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The MCP tools page was updated on 27 October 2026 (its own `dateModified`, 'Last updated'), and now lists 89 tools across eleven domains where the 8 October check found 73, a dated change to the MCP server inside 30 days. The newest API release is 2026-07 on 31 July 2026, 95 days before the check (30 of 30, was 20). The release notes have no entry after July 2026, and July's PKCE entry has no day. Inside the 90 days from 5 August there are the MCP tools update and four tutorials repository commits from 17 to 20 August, so half for this line, as on 8 October (10 of 20). Closed service with dated release notes and a support address that promises a first reply within one business day (9 of 15). The MCP server isn't in the official registry (no result for shipbob on 3 November), and no official SDK was found (0 of 15). OpenAPI specs are kept for each version. Nothing else to judge package health on (2 of 10). 30 + 10 + 9 + 0 + 2 = 51.",
          "b": "Read as a closed service. No dated API change was found. The SDKs were last pushed between February and December 2024, the support articles are dated 2023 and 2024, and the reference is undated (0 of 30). No releases or dated entries in the last 90 days were found (0). Support by email and chat with a help centre; GitHub issues were not read (6 of 15). Seven official SDKs exist but none has changed since December 2024 (10 of 15). The Node SDK has tests and no CI workflow (3 of 10). 0 + 0 + 6 + 10 + 3 = 19."
        },
        "scores": {
          "a": 51,
          "b": 19
        }
      },
      {
        "by": 24,
        "category": "security",
        "leads": "shipbob",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2.0 authorisation code grant with PKCE, read and write scopes per domain, one-hour access tokens, 30-day refresh tokens rotated on use, and a revocation endpoint. The MCP server adds dynamic client registration. Personal Access Tokens have every scope and no expiry, and can be revoked (27 of 30). An OAuth app can ask for read scopes only, MCP writes are limited to the channel created at consent, and inventory is read-only over MCP. A token has no read-only option, and no confirmation step for cancels was found (12 of 20). Orders, addresses, gift messages and return notes are written by third parties. The MCP security page covers token handling and consent, with nothing on injected text (3 of 15). No log of API calls for the operator was found. Shipment logs record warehouse events (2 of 15). The trust page says SOC 2 and ISO 27001 audits are complete and lists penetration testing. No security.txt, disclosure policy or bug bounty was found (11 of 20).",
          "b": "One API key in the Tracking-Api-Key header, shown once, at most four per account, deleted in the web app. No scopes or expiry (20 of 30). No read-only key or least-privilege mode, and delete is one call (4 of 20). Tracking checkpoints are carrier text returned to the model, and no guidance was found (3 of 15). A webhook notification log exists in the web app; no log of API calls or key use was found (4 of 15). No security.txt (404), no security page on trackingmore.com, no certification, bug bounty or disclosure policy found. The CWILL privacy policy points to a trust site that was not read (0 of 20). 20 + 4 + 3 + 4 + 0 = 31."
        },
        "scores": {
          "a": 55,
          "b": 31
        }
      },
      {
        "by": 21,
        "category": "transparency",
        "leads": "shipbob",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service. The Terms of Service, updated 22 May 2026, name ShipBob, Inc. and Illinois law. The tutorials repository has no licence file (15 of 30). A privacy policy dated 29 March 2024, which says it doesn't apply where a commercial contract governs, and a DPA dated April 2026 under which ShipBob deletes or returns personal data at the end of the service if the merchant asks. No retention period is stated in days, and the terms grant ShipBob a perpetual right to use merchant content for product improvement (17 of 30). A written version policy with 24 months of support for each version, end dates in a table, and the phased shutdown of 1.0 published with dates (20 of 20). A public list of about 30 subprocessors with purpose and location, all in the United States, with no date on the page (17 of 20).",
          "b": "Closed service. The terms are the CWILL group's (effective 9 January 2026), which say the contracting entity depends on the product, and the privacy policy names CHANNELWILL CO., LIMITED for TrackingMore. The SDKs are MIT (15 of 30). The privacy policy (8 August 2026) distinguishes controller and processor roles and links a DPA and a sub-processor list, neither read; no retention periods were read (12 of 30). v2 and v3 are still served with no notice policy or dates (4 of 20). A sub-processor list exists at trust.cwill.com and was not read; no data location is stated on the pages read (8 of 20). 15 + 12 + 4 + 8 = 39."
        },
        "scores": {
          "a": 78,
          "b": 57
        }
      },
      {
        "by": 10,
        "category": "reliability",
        "leads": "shipbob",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines and scored on the REST API at api.shipbob.com. Statuspage at status.shipbob.com with three components and 90-day uptime bars (20). history.atom, read on 3 November, holds only two scheduled maintenance notices (1 September 2025, and 18 October 2026 from 03:00 to 04:00 CDT on the dashboard and both warehouse systems, posted on 8 October) and no incident. The page says it reports major outages of the website or dashboard, has no API component and has never posted an incident, which this run scores 20 (20). 150 requests a minute, sliding window, per user and application (15). A 429 carries `x-retry-after` and the errors page recommends exponential backoff. A duplicate `reference_id` returns 422, but the docs give no idempotency key and don't say a retried write is safe, so this is backoff guidance alone (10 of 15, was 12). The terms publish fulfilment turnaround SLAs with 14 exclusions. No uptime SLA for the API was found (0). The dated API versions are generally available (10). 20 + 20 + 15 + 10 + 0 + 10 = 75.",
          "b": "Read with the hosted lines and scored on the REST API v4 at api.trackingmore.com. status.trackingmore.com is a hosted status page with uptime and a status update history (20). Its figures and history render by script, so the 90 days could not be read; the static text says there were no updates in the last 7 days (5). Rate limits are published per endpoint, 3 requests a second on trackings/create and 10 a second elsewhere, per account (15). The support centre says a 429 means the application should stop and wait 120 seconds, and a repeated create answers meta code 4101 rather than creating a duplicate. No Retry-After and no idempotency key (10 of 15). No SLA document was found. The Enterprise plan lists 99.99 per cent API uptime as a feature and the API page claims 99.9 per cent uptime, which is marketing rather than a published SLA (5 of 10). v4 is the current version and not marked beta (10). 20 + 5 + 15 + 10 + 5 + 10 = 65."
        },
        "scores": {
          "a": 75,
          "b": 65
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "ShipBob, Inc.",
        "b": "CHANNELWILL CO., LIMITED",
        "name": "Vendor"
      },
      {
        "a": "https://api.shipbob.com",
        "b": "https://api.trackingmore.com/v4",
        "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": "not published",
        "b": "$0.03 per transaction",
        "name": "Price for shipment tracking"
      },
      {
        "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 hosted service under the CWILL Terms of Service. The seven official SDKs on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "89",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-07-31",
        "b": "2024-12-25",
        "name": "Last release"
      },
      {
        "a": "2026-05-22",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2024-03-29",
        "b": "2026-08-08",
        "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": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "6 stars",
        "name": "Popularity"
      },
      {
        "a": "3.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "ShipBob scores 61.3 (C) on agent readiness against TrackingMore's 41.8 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, ShipBob or TrackingMore?"
      },
      {
        "answer": "ShipBob takes an API key or an OAuth sign-in. TrackingMore needs an API key.",
        "question": "Do ShipBob and TrackingMore need an API key?"
      },
      {
        "answer": "Yes. ShipBob has a hosted endpoint at https://api.shipbob.com and TrackingMore at https://api.trackingmore.com/v4.",
        "question": "Can an agent call ShipBob and TrackingMore without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 65",
          "Schema \u0026 documentation, 85 against 31",
          "Security \u0026 auth, 55 against 31",
          "Maintenance \u0026 community, 51 against 19",
          "Transparency \u0026 trust, 78 against 57"
        ],
        "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": null,
        "also": null,
        "goodFor": "An agent that reports where a parcel is across many carriers from a tracking number, with a cheap per-tracking price.",
        "slug": "trackingmore",
        "watchFor": "The API reference renders by script and no OpenAPI file, llms.txt or Markdown docs were found"
      }
    ],
    "history": {
      "shipbob": [
        {
          "causes": [
            "product",
            "correction"
          ],
          "date": "2026-11-03",
          "delta": 0.4,
          "from": 60.9,
          "fromGrade": "C",
          "to": 61.3,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 60.8,
          "fromGrade": "C",
          "to": 60.9,
          "toGrade": "C"
        }
      ],
      "trackingmore": null
    },
    "job": {
      "capability": "shipping.tracking",
      "name": "Shipment tracking"
    },
    "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/easyship-vs-shipbob.json",
        "title": "Easyship vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-shipbob"
      },
      {
        "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/sendcloud-vs-shipbob.json",
        "title": "Sendcloud vs ShipBob",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-shipbob"
      },
      {
        "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/shipbob-vs-shipstation.json",
        "title": "ShipBob vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easypost-vs-trackingmore.json",
        "title": "EasyPost vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/easypost-vs-trackingmore"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easyship-vs-trackingmore.json",
        "title": "Easyship vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-trackingmore"
      },
      {
        "json": "https://www.anchorterminal.com/compare/karrio-vs-trackingmore.json",
        "title": "Karrio vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/karrio-vs-trackingmore"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendcloud-vs-trackingmore.json",
        "title": "Sendcloud vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-trackingmore"
      },
      {
        "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-trackingmore.json",
        "title": "Ship24 vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-trackingmore"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shippo-vs-trackingmore.json",
        "title": "Shippo vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/shippo-vs-trackingmore"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shippypro-vs-trackingmore.json",
        "title": "ShippyPro vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/shippypro-vs-trackingmore"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shipstation-vs-trackingmore.json",
        "title": "ShipStation API vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/shipstation-vs-trackingmore"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 10,
        "edge": "shipbob",
        "key": "reliability",
        "name": "Reliability",
        "shipbob": 75,
        "trackingmore": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 54,
        "edge": "shipbob",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "shipbob": 85,
        "trackingmore": 31,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "shipbob",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "shipbob": 56,
        "trackingmore": 54,
        "weight": 13
      },
      {
        "by": 24,
        "edge": "shipbob",
        "key": "security",
        "name": "Security \u0026 auth",
        "shipbob": 55,
        "trackingmore": 31,
        "weight": 14
      },
      {
        "by": 3,
        "edge": "trackingmore",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "shipbob": 20,
        "trackingmore": 23,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "shipbob",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "shipbob": 51,
        "trackingmore": 19,
        "weight": 7
      },
      {
        "by": 21,
        "edge": "shipbob",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "shipbob": 78,
        "trackingmore": 57,
        "weight": 7
      }
    ],
    "summary": "ShipBob scores 61.3 (C) on agent readiness against TrackingMore's 41.8 (E), and leads in 6 of 7 scored categories. Both do shipment tracking.",
    "tasks": null,
    "tutorials": [],
    "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.",
      "trackingmore": "A small tracking API with published per-endpoint rate limits, meta error codes, a free courier detection call and SDKs in seven languages. The reference docs render by script with no OpenAPI file, plan prices weren't readable, one key has full access, the SDKs date from 2024 and the legal documents belong to the CWILL group."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/shipbob-vs-trackingmore",
    "json": "https://www.anchorterminal.com/compare/shipbob-vs-trackingmore.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/shipbob-vs-trackingmore.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/shipbob-vs-trackingmore.min.md"
  },
  "markdown": "ShipBob scores 61.3 (C) on agent readiness against TrackingMore's 41.8 (E), and leads in 6 of 7 scored categories. Both do shipment tracking.\n\n- ShipBob: grade C, 61.3/100, rank #558 of 1349. Markdown https://www.anchorterminal.com/tools/shipbob.md · JSON https://www.anchorterminal.com/api/v1/tools/shipbob.json\n- TrackingMore: grade E, 41.8/100, rank #1187 of 1349. Markdown https://www.anchorterminal.com/tools/trackingmore.md · JSON https://www.anchorterminal.com/api/v1/tools/trackingmore.json\n- Best shipping and fulfilment APIs for AI agents: https://www.anchorterminal.com/best/shipping/index.md\n- All 45 shipping comparisons: https://www.anchorterminal.com/compare/shipping/index.md\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, 75 against 65\n- Schema \u0026 documentation, 85 against 31\n- Security \u0026 auth, 55 against 31\n- Maintenance \u0026 community, 51 against 19\n- Transparency \u0026 trust, 78 against 57\n\nWatch for: No public price. Receiving, storage and pick, pack and ship fees come only in a quote from sales\n\n### TrackingMore (E)\n\nGood for: An agent that reports where a parcel is across many carriers from a tracking number, with a cheap per-tracking price.\n\nWatch for: The API reference renders by script and no OpenAPI file, llms.txt or Markdown docs were found\n\n\n## Why the edge\n\n### Schema \u0026 documentation: ShipBob +54\n\n- ShipBob (85): OpenAPI 3.0 spec for each version at marketplaceapi.shipbob.com, 89 operations in 2026-07. The `openapi.json` link in the docs index returns an HTML page, not the spec (25). llms.txt per version and a Markdown copy of each page (10). 88 of 89 operations have a description, and some say when to use them, such as the inventory level call for current stock questions. Few say when not to (14 of 20). All 199 parameters have a schema, with 46 enums and required fields marked. Sort order and shipping method are free strings, and many filters are comma-separated lists (10 of 15). 504 examples. 401 and 403 are documented on 64 operations, 400 on 58 and 422 on 18, 429 on none, and error bodies differ by domain, with RFC 7807 problem details in some and an `errors` array in others (11 of 15). Date-based versions, an upgrade guide per version and dated release notes (15).\n- TrackingMore (31): No OpenAPI or similar file was found in the docs, the SDK repositories or a search, and the reference at trackingmore.com/docs renders by script so its schemas were not read (0 of 25). No llms.txt or Markdown docs (0). The official SDK READMEs give one line per call, and the support centre explains when to pair create with get or a webhook and that the create response carries the result (8 of 20). Field names and the required tracking_number and courier_code appear in the SDK examples, with no types, enums or constraints readable (5 of 15). Examples in seven SDK languages and a table of HTTP and meta codes with messages (12 of 15). v4 in the path with v2 and v3 still served, and the support centre says there is no changelog for switching versions. No dated API changelog was found (6 of 15). 0 + 0 + 8 + 5 + 12 + 6 = 31.\n\n### Maintenance \u0026 community: ShipBob +32\n\n- ShipBob (51): The MCP tools page was updated on 27 October 2026 (its own `dateModified`, 'Last updated'), and now lists 89 tools across eleven domains where the 8 October check found 73, a dated change to the MCP server inside 30 days. The newest API release is 2026-07 on 31 July 2026, 95 days before the check (30 of 30, was 20). The release notes have no entry after July 2026, and July's PKCE entry has no day. Inside the 90 days from 5 August there are the MCP tools update and four tutorials repository commits from 17 to 20 August, so half for this line, as on 8 October (10 of 20). Closed service with dated release notes and a support address that promises a first reply within one business day (9 of 15). The MCP server isn't in the official registry (no result for shipbob on 3 November), and no official SDK was found (0 of 15). OpenAPI specs are kept for each version. Nothing else to judge package health on (2 of 10). 30 + 10 + 9 + 0 + 2 = 51.\n- TrackingMore (19): Read as a closed service. No dated API change was found. The SDKs were last pushed between February and December 2024, the support articles are dated 2023 and 2024, and the reference is undated (0 of 30). No releases or dated entries in the last 90 days were found (0). Support by email and chat with a help centre; GitHub issues were not read (6 of 15). Seven official SDKs exist but none has changed since December 2024 (10 of 15). The Node SDK has tests and no CI workflow (3 of 10). 0 + 0 + 6 + 10 + 3 = 19.\n\n### Security \u0026 auth: ShipBob +24\n\n- ShipBob (55): OAuth 2.0 authorisation code grant with PKCE, read and write scopes per domain, one-hour access tokens, 30-day refresh tokens rotated on use, and a revocation endpoint. The MCP server adds dynamic client registration. Personal Access Tokens have every scope and no expiry, and can be revoked (27 of 30). An OAuth app can ask for read scopes only, MCP writes are limited to the channel created at consent, and inventory is read-only over MCP. A token has no read-only option, and no confirmation step for cancels was found (12 of 20). Orders, addresses, gift messages and return notes are written by third parties. The MCP security page covers token handling and consent, with nothing on injected text (3 of 15). No log of API calls for the operator was found. Shipment logs record warehouse events (2 of 15). The trust page says SOC 2 and ISO 27001 audits are complete and lists penetration testing. No security.txt, disclosure policy or bug bounty was found (11 of 20).\n- TrackingMore (31): One API key in the Tracking-Api-Key header, shown once, at most four per account, deleted in the web app. No scopes or expiry (20 of 30). No read-only key or least-privilege mode, and delete is one call (4 of 20). Tracking checkpoints are carrier text returned to the model, and no guidance was found (3 of 15). A webhook notification log exists in the web app; no log of API calls or key use was found (4 of 15). No security.txt (404), no security page on trackingmore.com, no certification, bug bounty or disclosure policy found. The CWILL privacy policy points to a trust site that was not read (0 of 20). 20 + 4 + 3 + 4 + 0 = 31.\n\n### Transparency \u0026 trust: ShipBob +21\n\n- ShipBob (78): Closed service. The Terms of Service, updated 22 May 2026, name ShipBob, Inc. and Illinois law. The tutorials repository has no licence file (15 of 30). A privacy policy dated 29 March 2024, which says it doesn't apply where a commercial contract governs, and a DPA dated April 2026 under which ShipBob deletes or returns personal data at the end of the service if the merchant asks. No retention period is stated in days, and the terms grant ShipBob a perpetual right to use merchant content for product improvement (17 of 30). A written version policy with 24 months of support for each version, end dates in a table, and the phased shutdown of 1.0 published with dates (20 of 20). A public list of about 30 subprocessors with purpose and location, all in the United States, with no date on the page (17 of 20).\n- TrackingMore (57): Closed service. The terms are the CWILL group's (effective 9 January 2026), which say the contracting entity depends on the product, and the privacy policy names CHANNELWILL CO., LIMITED for TrackingMore. The SDKs are MIT (15 of 30). The privacy policy (8 August 2026) distinguishes controller and processor roles and links a DPA and a sub-processor list, neither read; no retention periods were read (12 of 30). v2 and v3 are still served with no notice policy or dates (4 of 20). A sub-processor list exists at trust.cwill.com and was not read; no data location is stated on the pages read (8 of 20). 15 + 12 + 4 + 8 = 39.\n\n### Reliability: ShipBob +10\n\n- ShipBob (75): Read with the hosted lines and scored on the REST API at api.shipbob.com. Statuspage at status.shipbob.com with three components and 90-day uptime bars (20). history.atom, read on 3 November, holds only two scheduled maintenance notices (1 September 2025, and 18 October 2026 from 03:00 to 04:00 CDT on the dashboard and both warehouse systems, posted on 8 October) and no incident. The page says it reports major outages of the website or dashboard, has no API component and has never posted an incident, which this run scores 20 (20). 150 requests a minute, sliding window, per user and application (15). A 429 carries `x-retry-after` and the errors page recommends exponential backoff. A duplicate `reference_id` returns 422, but the docs give no idempotency key and don't say a retried write is safe, so this is backoff guidance alone (10 of 15, was 12). The terms publish fulfilment turnaround SLAs with 14 exclusions. No uptime SLA for the API was found (0). The dated API versions are generally available (10). 20 + 20 + 15 + 10 + 0 + 10 = 75.\n- TrackingMore (65): Read with the hosted lines and scored on the REST API v4 at api.trackingmore.com. status.trackingmore.com is a hosted status page with uptime and a status update history (20). Its figures and history render by script, so the 90 days could not be read; the static text says there were no updates in the last 7 days (5). Rate limits are published per endpoint, 3 requests a second on trackings/create and 10 a second elsewhere, per account (15). The support centre says a 429 means the application should stop and wait 120 seconds, and a repeated create answers meta code 4101 rather than creating a duplicate. No Retry-After and no idempotency key (10 of 15). No SLA document was found. The Enterprise plan lists 99.99 per cent API uptime as a feature and the API page claims 99.9 per cent uptime, which is marketing rather than a published SLA (5 of 10). v4 is the current version and not marked beta (10). 20 + 5 + 15 + 10 + 5 + 10 = 65.\n\n## Score by category\n\n| Category | Weight | ShipBob | TrackingMore | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 65 | ShipBob +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 31 | ShipBob +54 |\n| Agent ergonomics | 13% (16.2 this run) | 56 | 54 | ShipBob +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 31 | ShipBob +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 23 | TrackingMore +3 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 51 | 19 | ShipBob +32 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 57 | ShipBob +21 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.3 · C** | **41.8 · E** | |\n\n## Facts side by side\n\n| Fact | ShipBob | TrackingMore |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | ShipBob, Inc. | CHANNELWILL CO., LIMITED |\n| Hosted endpoint | `https://api.shipbob.com` | `https://api.trackingmore.com/v4` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Freemium |\n| Price for shipment tracking | not published | $0.03 per transaction |\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 hosted service under the CWILL Terms of Service. The seven official SDKs on GitHub are MIT |\n| Tools exposed | 89 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-07-31 | 2024-12-25 |\n| Terms last updated | 2026-05-22 | no date given |\n| Privacy policy last updated | 2024-03-29 | 2026-08-08 |\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 | yes |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 6 stars |\n| Agent reviews | 3.3/5 (4) | none |\n\n## How the scores have moved\n\n### ShipBob\n\n- +0.4 on 3 November 2026: product, correction\n- +0.1 on 27 October 2026: checklist\n\n### TrackingMore\n\nNo score change since it was listed.\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**TrackingMore.** A small tracking API with published per-endpoint rate limits, meta error codes, a free courier detection call and SDKs in seven languages. The reference docs render by script with no OpenAPI file, plan prices weren't readable, one key has full access, the SDKs date from 2024 and the legal documents belong to the CWILL group.\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### TrackingMore\n\n1. Send the key as `Tracking-Api-Key` to https://api.trackingmore.com/v4; the v2 header name `Trackingmore-Api-Key` and the v3 path are the older versions\n2. Call `POST /v4/couriers/detect` first when the carrier is unknown (free on v4), then `POST /v4/trackings/create` with `tracking_number` and `courier_code`; the create response already carries the tracking result\n3. Create up to 40 shipments at once with `POST /v4/trackings/batch` and read them with `GET /v4/trackings/get`, which filters by tracking numbers, courier and created date\n4. Treat meta code 4101 as an existing tracking rather than a failure, and 4190 as a plan quota to raise with the person; after a 429 wait 120 seconds\n5. Stay under 3 creates a second and 10 requests a second on other calls per account, and prefer a webhook (same version as the API) to polling\n\n## Questions\n\n### Which is better for AI agents, ShipBob or TrackingMore?\n\nShipBob scores 61.3 (C) on agent readiness against TrackingMore's 41.8 (E), and leads in 6 of 7 scored categories.\n\n### Do ShipBob and TrackingMore need an API key?\n\nShipBob takes an API key or an OAuth sign-in. TrackingMore needs an API key.\n\n### Can an agent call ShipBob and TrackingMore without installing anything?\n\nYes. ShipBob has a hosted endpoint at https://api.shipbob.com and TrackingMore at https://api.trackingmore.com/v4.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/shipbob-vs-trackingmore.json, and with the fewest tokens: https://www.anchorterminal.com/compare/shipbob-vs-trackingmore.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"shipbob\", \"b\": \"trackingmore\"}`. From a terminal: `anchor compare shipbob trackingmore`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/shipbob.json and https://www.anchorterminal.com/api/v1/tools/trackingmore.json\n\n## Other comparisons with ShipBob or TrackingMore\n\n- [EasyPost vs ShipBob](https://www.anchorterminal.com/compare/easypost-vs-shipbob.md)\n- [Easyship vs ShipBob](https://www.anchorterminal.com/compare/easyship-vs-shipbob.md)\n- [Karrio vs ShipBob](https://www.anchorterminal.com/compare/karrio-vs-shipbob.md)\n- [Sendcloud vs ShipBob](https://www.anchorterminal.com/compare/sendcloud-vs-shipbob.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- [ShipBob vs ShipStation API](https://www.anchorterminal.com/compare/shipbob-vs-shipstation.md)\n- [EasyPost vs TrackingMore](https://www.anchorterminal.com/compare/easypost-vs-trackingmore.md)\n- [Easyship vs TrackingMore](https://www.anchorterminal.com/compare/easyship-vs-trackingmore.md)\n- [Karrio vs TrackingMore](https://www.anchorterminal.com/compare/karrio-vs-trackingmore.md)\n- [Sendcloud vs TrackingMore](https://www.anchorterminal.com/compare/sendcloud-vs-trackingmore.md)\n- [Ship24 vs ShipBob](https://www.anchorterminal.com/compare/ship24-vs-shipbob.md)\n- [Ship24 vs TrackingMore](https://www.anchorterminal.com/compare/ship24-vs-trackingmore.md)\n- [Shippo vs TrackingMore](https://www.anchorterminal.com/compare/shippo-vs-trackingmore.md)\n- [ShippyPro vs TrackingMore](https://www.anchorterminal.com/compare/shippypro-vs-trackingmore.md)\n- [ShipStation API vs TrackingMore](https://www.anchorterminal.com/compare/shipstation-vs-trackingmore.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "ShipBob vs TrackingMore",
        "url": ""
      }
    ],
    "description": "ShipBob scores 61.3 (C) to TrackingMore's 41.8 (E) for shipment tracking. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "ShipBob C 61.3",
      "TrackingMore E 41.8",
      "scores"
    ],
    "h1": "ShipBob vs TrackingMore",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/shipbob-vs-trackingmore",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ShipBob vs TrackingMore for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/shipbob-vs-trackingmore"
  },
  "tokens": {
    "markdown": 4500,
    "slim": 2780
  },
  "version": 1
}
