{
  "data": {
    "a": {
      "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",
      "dns": "shipstation.grade.anchorterminal.com",
      "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": 51,
        "grade": "D",
        "agentReady": false,
        "rank": 928,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 33,
          "payments": 40,
          "reliability": 70,
          "schema": 83,
          "security": 32,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -6,
        "negativeNotes": [
          "2026-10-27. A status notice posted on 27 October says that from 23 October GlobalPost and GAP DDU services can no longer be used for shipments to Germany and that labels created with them return an error. The change came from German customs, but requests that worked before 23 October failed with notice posted four days after it took effect (-3) (https://status.shipstation.com/incidents/72gds1yvrc52)",
          "2026-10-27. Commits 796387c and 2f2808e in the JavaScript SDK (`shipengine` on npm) fix tracking calls that interpolated the carrier code, tracking number and label ID into the request unencoded, so `\u0026`, `=` or `#` in a value could add or cut query parameters. The fixes are merged but in no release, and no advisory was found (-3 until released) (https://github.com/ShipEngine/shipengine-js)"
        ],
        "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 or idempotency keys on label purchases, and API release notes carry month-only dates.",
        "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",
          "A Statuspage history in which every incident from 6 August to 4 November 2026 was labelled minor or touched one or two carriers"
        ],
        "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",
          "Release notes are dated by month only, and no SDK has a release since 27 May 2026",
          "The official SDKs call api.shipengine.com/v1, and JavaScript fixes for unencoded tracking parameters from 27 October are unreleased",
          "No security.txt, certification, disclosure policy, DPA or named subprocessor list found on the pages read on 7 October"
        ],
        "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": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 33,
          "payments": 40,
          "reliability": 70,
          "schema": 83,
          "security": 32,
          "transparency": 42
        },
        "provenanceScore": 86,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/shipstation.json",
      "live": {
        "slug": "shipstation",
        "probe": {
          "target": "https://api.shipstation.com/v2",
          "method": "get",
          "lastAt": "2026-11-04T20:47:14.472535971Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 361,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 389,
          "p95ms24h": 508,
          "samples24h": 246,
          "samples30d": 6818,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "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.shipstation.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:39:56.287068694Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "shipengine",
            "version": "1.0.7",
            "seenAt": "2026-11-03T20:57:35.392858436Z"
          },
          {
            "registry": "pypi",
            "name": "shipengine",
            "version": "2.1.1",
            "released": "2026-05-06",
            "seenAt": "2026-11-03T20:57:36.211238893Z"
          }
        ],
        "githubStars": 29,
        "npmWeekly": 9708,
        "pypiWeekly": 3937,
        "securityTxt": {
          "url": "https://shipstation.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:52:40.971947665Z"
        },
        "llmsTxt": {
          "url": "https://docs.shipstation.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-04T15:24:13.061115934Z"
        },
        "domain": {
          "domain": "shipstation.com",
          "registered": "2005-04-14",
          "source": "https://rdap.verisign.com/com/v1/domain/shipstation.com",
          "checkedAt": "2026-11-01T14:24:35.892205169Z"
        },
        "pages": [
          {
            "url": "https://docs.shipstation.com/apis/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-04T08:22:24.633375708Z",
            "changedAt": "2026-11-03T07:48:41.60276152Z",
            "fingerprint": "255779414940"
          },
          {
            "url": "https://www.shipstationglobal.com/legal/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:45:15.546091077Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6fef845000ca"
          },
          {
            "url": "https://www.shipstation.com/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:45:13.876981178Z",
            "changedAt": "2026-11-04T08:45:13.876981178Z",
            "fingerprint": "f8222912c0f5"
          }
        ],
        "github": {
          "repo": "shipengine/shipengine-openapi",
          "checkedAt": "2026-11-02T09:25:15.871990048Z",
          "stars": 29,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-06-11T19:38:15Z",
          "openIssues": 10,
          "openPRs": 4,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "master",
            "runs": 50,
            "success": 9,
            "failure": 41,
            "other": 0,
            "latest": "failure",
            "latestAt": "2026-06-11T19:38:36Z"
          },
          "replies": {
            "sampled": 12,
            "unanswered": 10,
            "medianDays": 8.2
          }
        },
        "updatedAt": "2026-11-04T20:47:14.472535971Z"
      }
    },
    "answer": "ShipStation API scores 51 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in every scored category.",
    "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": 52,
        "category": "schema",
        "leads": "shipstation",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 for v2 at docs.shipstation.com/_bundle/apis/@shipstation-v2/openapi.yaml, 173 operations on 123 paths and 372 schemas (25). llms.txt with 480 lines of links and a Markdown copy of each docs page (10). Guides explain when to use rates against estimates and webhooks against polling. Operation descriptions in the spec are one line each (13). 152 enums, required fields and read-only markers, though carrier and service codes are free strings that depend on the account (12). 1,648 example entries and enumerated `error_code` and `error_type` values. The spec documents 400, 404 and 500 but no 401 or 429 response (11). Release notes are dated by month and the spec version has stayed 2.0.0 through every addition (12). Docs, pricing and legal pages per the 7 October check, not re-read on 4 November.",
          "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": 83,
          "b": 31
        }
      },
      {
        "by": 17,
        "category": "payments",
        "leads": "shipstation",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). ShipStation API prices are public without a login. Free at $0, Advanced at $75 a month for 1,000 labels with $0.075 per label over, $325 for 5,000 and $600 for 10,000, Enterprise by quote. Platform plans are public too, with API access from Standard at $29.99 a month for 50 shipments (20). The Free plan and its sandbox need no card according to the pricing page (20). A person signs up in a browser to get a key (0). Docs, pricing and legal pages per the 7 October check, not re-read on 4 November.",
          "b": "Read with the hosted rubric. No x402, MPP or L402 (0). The API page gives a from price of $0.03 a tracked order and three unlabelled figures, and the pricing page's plan prices render by script, so per-unit pricing is partly public (8 of 20). A Free plan and a 14-day trial are offered, and whether a card is asked for was not established (15 of 20). A person signs up in a browser and generates the key there (0). 0 + 8 + 15 + 0 = 23."
        },
        "scores": {
          "a": 40,
          "b": 23
        }
      },
      {
        "by": 14,
        "category": "maintenance",
        "leads": "shipstation",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Release notes on docs.shipstation.com are dated by month only, with entries for August, September and October 2026 on the 7 October reading, so they don't set recency. The newest dated change from ShipStation's own sources is the shipengine-openapi repository commit of 11 June 2026, after .NET SDK v3.2.1 on 27 May and Python 2.1.1 on 6 May (146 days, 10). No dated release in the 90 days from 6 August. Month-dated entries counted at half come to fewer than three, and commits on 27 October in the JavaScript and .NET SDK repositories are in no release (0). Closed service with monthly release notes, an API support address (apisupport@shipstation.com) and a community forum. We couldn't measure reply times (10). Official SDKs exist in six languages, and all call the v1 ShipEngine host. JavaScript's newest tag is v1.0.7 of 31 January 2024 (8). SDK repositories have CI workflows, and the JavaScript SDK's CI was rebuilt on 27 October. The OpenAPI repository was last changed on 11 June 2026 (5).",
          "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": 33,
          "b": 19
        }
      },
      {
        "by": 10,
        "category": "ergonomics",
        "leads": "shipstation",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "No MCP server that performs shipping operations. The MCP server at docs.shipstation.com/mcp reads documentation only. List endpoints take `page_size`. No field selection was found (12). `page`, `page_size`, `sort_by`, `sort_dir` and filters by status, tag, dates, store and external id on list calls (20). Errors carry `error_source`, `error_type`, `error_code`, `message`, field names and a `request_id` (18). No idempotency keys. `external_shipment_id` is unique per shipment, labels can be voided and `test_label` exists, which we counted as partial safe-retry support (6). Official SDKs in six languages call api.shipengine.com/v1, not v2, and a label needs a `carrier_id` and `service_code` looked up first (8). Docs, pricing and legal pages per the 7 October check, not re-read on 4 November.",
          "b": "trackings/get filters by tracking numbers, courier and created date range, and batch create takes 40 at once. No field selection was found, and the unread reference may document more (10 of 25). Date and courier filters exist; pagination parameters were not found in what was read (8 of 20). Every response carries an HTTP code and a meta code with a message, such as 4121 for an undetected courier and 4190 for a reached quota (14 of 20). No idempotency key. A repeated create is rejected with 4101, so the write is safe to retry, and delete and retrack take ids (10 of 20). Create needs only tracking_number and courier_code, detect is free, and official SDKs cover seven languages (12 of 15). 10 + 8 + 14 + 10 + 12 = 54."
        },
        "scores": {
          "a": 64,
          "b": 54
        }
      },
      {
        "by": 7,
        "category": "transparency",
        "leads": "shipstation",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under terms of service effective 16 July 2026 that name Auctane LLC d/b/a ShipStation. The v2 OpenAPI file is marked MIT and the SDKs are Apache 2.0 (16). The privacy policy, effective 18 March 2026, is Auctane, Inc.'s for all its brands. It keeps data \"as long as necessary\" with no periods, and says third parties may not train AI models on personal information. No public DPA was found (12). The legacy V1 API is described as deprecated with removal \"in the future\" and no date, and the terms let ShipStation withdraw API access at its discretion (6). US persons' data stays in the United States and EEA and UK data may move there under the Data Privacy Framework. Service providers are named by type, with no subprocessor list (8). Docs, pricing and legal pages per the 7 October check, not re-read on 4 November.",
          "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": 64,
          "b": 57
        }
      },
      {
        "by": 5,
        "category": "reliability",
        "leads": "shipstation",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on ShipStation API v2 at api.shipstation.com/v2, with the hosted lines. Statuspage at status.shipstation.com with components for Companion API V1 and V2, carriers and marketplaces (20). The history pages and feed, read on 4 November, list 13 incidents and one scheduled maintenance between 6 August and 4 November. The four labelled major each touch one or two carriers (DPD Local and DX on 11 September, Evri on 24 and 25 September, DPD on 20 October, Evri shipments to the EU on 29 and 30 October), and the rest are minor or notices, so all are partial and read as minor (20). 200 requests a minute by default, per the 7 October check, not re-read on 4 November (15). 429 responses carry `Retry-After` and the docs ask for retries handled globally, with no idempotency key or safe-retry guidance for label purchases, per the 7 October check, not re-read on 4 November (10). No SLA found (0). The getting-started page says v2 \"is currently in an early release stage\" while calling it tested and stable, per the 7 October check, not re-read on 4 November (5).",
          "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": 70,
          "b": 65
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Auctane LLC d/b/a ShipStation",
        "b": "CHANNELWILL CO., LIMITED",
        "name": "Vendor"
      },
      {
        "a": "https://api.shipstation.com/v2",
        "b": "https://api.trackingmore.com/v4",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "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 ShipStation's terms of service. The v2 OpenAPI file is marked MIT and the SDKs on GitHub are Apache 2.0",
        "b": "Proprietary hosted service under the CWILL Terms of Service. The seven official SDKs on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2024-12-25",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-03-18",
        "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": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6.8k npm/wk",
        "b": "6 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "ShipStation API scores 51 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, ShipStation API or TrackingMore?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do ShipStation API and TrackingMore need an API key?"
      },
      {
        "answer": "Yes. ShipStation API has a hosted endpoint at https://api.shipstation.com/v2 and TrackingMore at https://api.trackingmore.com/v4.",
        "question": "Can an agent call ShipStation API and TrackingMore without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 65",
          "Schema \u0026 documentation, 83 against 31",
          "Agent ergonomics, 64 against 54",
          "Payments \u0026 pricing, 40 against 23",
          "Maintenance \u0026 community, 33 against 19",
          "Transparency \u0026 trust, 64 against 57"
        ],
        "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"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where ShipStation API loses 6 points for them"
        ],
        "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": {
      "shipstation": [
        {
          "causes": [
            "correction",
            "event"
          ],
          "date": "2026-11-04",
          "delta": -8.3,
          "from": 59.3,
          "fromGrade": "C",
          "to": 51,
          "toGrade": "D"
        }
      ],
      "trackingmore": null
    },
    "job": {
      "capability": "shipping.tracking",
      "name": "Shipment tracking"
    },
    "others": [
      {
        "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-shipstation.json",
        "title": "Easyship vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-shipstation"
      },
      {
        "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-shipstation.json",
        "title": "Sendcloud vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation.json",
        "title": "ShipBob vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/shipbob-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shippo-vs-shipstation.json",
        "title": "Shippo vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/shippo-vs-shipstation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shippypro-vs-shipstation.json",
        "title": "ShippyPro vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/shippypro-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-shipstation.json",
        "title": "Ship24 vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shipstation"
      },
      {
        "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/shipbob-vs-trackingmore.json",
        "title": "ShipBob vs TrackingMore",
        "url": "https://www.anchorterminal.com/compare/shipbob-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"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 5,
        "edge": "shipstation",
        "key": "reliability",
        "name": "Reliability",
        "shipstation": 70,
        "trackingmore": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 52,
        "edge": "shipstation",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "shipstation": 83,
        "trackingmore": 31,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "shipstation",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "shipstation": 64,
        "trackingmore": 54,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "shipstation",
        "key": "security",
        "name": "Security \u0026 auth",
        "shipstation": 32,
        "trackingmore": 31,
        "weight": 14
      },
      {
        "by": 17,
        "edge": "shipstation",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "shipstation": 40,
        "trackingmore": 23,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 14,
        "edge": "shipstation",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "shipstation": 33,
        "trackingmore": 19,
        "weight": 7
      },
      {
        "by": 7,
        "edge": "shipstation",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "shipstation": 64,
        "trackingmore": 57,
        "weight": 7
      }
    ],
    "summary": "ShipStation API scores 51 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in every scored category. Both do shipment tracking.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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 or idempotency keys on label purchases, and API release notes carry month-only dates.",
      "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/shipstation-vs-trackingmore",
    "json": "https://www.anchorterminal.com/compare/shipstation-vs-trackingmore.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/shipstation-vs-trackingmore.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/shipstation-vs-trackingmore.min.md"
  },
  "markdown": "ShipStation API scores 51 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in every scored category. Both do shipment tracking.\n\n- ShipStation API: grade D, 51/100, rank #928 of 1349. Markdown https://www.anchorterminal.com/tools/shipstation.md · JSON https://www.anchorterminal.com/api/v1/tools/shipstation.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### ShipStation API (D)\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- Reliability, 70 against 65\n- Schema \u0026 documentation, 83 against 31\n- Agent ergonomics, 64 against 54\n- Payments \u0026 pricing, 40 against 23\n- Maintenance \u0026 community, 33 against 19\n- Transparency \u0026 trust, 64 against 57\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### 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\nAlso in its favour:\n- No incidents deducted, where ShipStation API loses 6 points for them\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: ShipStation API +52\n\n- ShipStation API (83): OpenAPI 3.1 for v2 at docs.shipstation.com/_bundle/apis/@shipstation-v2/openapi.yaml, 173 operations on 123 paths and 372 schemas (25). llms.txt with 480 lines of links and a Markdown copy of each docs page (10). Guides explain when to use rates against estimates and webhooks against polling. Operation descriptions in the spec are one line each (13). 152 enums, required fields and read-only markers, though carrier and service codes are free strings that depend on the account (12). 1,648 example entries and enumerated `error_code` and `error_type` values. The spec documents 400, 404 and 500 but no 401 or 429 response (11). Release notes are dated by month and the spec version has stayed 2.0.0 through every addition (12). Docs, pricing and legal pages per the 7 October check, not re-read on 4 November.\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### Payments \u0026 pricing: ShipStation API +17\n\n- ShipStation API (40): No x402, MPP or L402 (0). ShipStation API prices are public without a login. Free at $0, Advanced at $75 a month for 1,000 labels with $0.075 per label over, $325 for 5,000 and $600 for 10,000, Enterprise by quote. Platform plans are public too, with API access from Standard at $29.99 a month for 50 shipments (20). The Free plan and its sandbox need no card according to the pricing page (20). A person signs up in a browser to get a key (0). Docs, pricing and legal pages per the 7 October check, not re-read on 4 November.\n- TrackingMore (23): Read with the hosted rubric. No x402, MPP or L402 (0). The API page gives a from price of $0.03 a tracked order and three unlabelled figures, and the pricing page's plan prices render by script, so per-unit pricing is partly public (8 of 20). A Free plan and a 14-day trial are offered, and whether a card is asked for was not established (15 of 20). A person signs up in a browser and generates the key there (0). 0 + 8 + 15 + 0 = 23.\n\n### Maintenance \u0026 community: ShipStation API +14\n\n- ShipStation API (33): Release notes on docs.shipstation.com are dated by month only, with entries for August, September and October 2026 on the 7 October reading, so they don't set recency. The newest dated change from ShipStation's own sources is the shipengine-openapi repository commit of 11 June 2026, after .NET SDK v3.2.1 on 27 May and Python 2.1.1 on 6 May (146 days, 10). No dated release in the 90 days from 6 August. Month-dated entries counted at half come to fewer than three, and commits on 27 October in the JavaScript and .NET SDK repositories are in no release (0). Closed service with monthly release notes, an API support address (apisupport@shipstation.com) and a community forum. We couldn't measure reply times (10). Official SDKs exist in six languages, and all call the v1 ShipEngine host. JavaScript's newest tag is v1.0.7 of 31 January 2024 (8). SDK repositories have CI workflows, and the JavaScript SDK's CI was rebuilt on 27 October. The OpenAPI repository was last changed on 11 June 2026 (5).\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### Agent ergonomics: ShipStation API +10\n\n- ShipStation API (64): No MCP server that performs shipping operations. The MCP server at docs.shipstation.com/mcp reads documentation only. List endpoints take `page_size`. No field selection was found (12). `page`, `page_size`, `sort_by`, `sort_dir` and filters by status, tag, dates, store and external id on list calls (20). Errors carry `error_source`, `error_type`, `error_code`, `message`, field names and a `request_id` (18). No idempotency keys. `external_shipment_id` is unique per shipment, labels can be voided and `test_label` exists, which we counted as partial safe-retry support (6). Official SDKs in six languages call api.shipengine.com/v1, not v2, and a label needs a `carrier_id` and `service_code` looked up first (8). Docs, pricing and legal pages per the 7 October check, not re-read on 4 November.\n- TrackingMore (54): trackings/get filters by tracking numbers, courier and created date range, and batch create takes 40 at once. No field selection was found, and the unread reference may document more (10 of 25). Date and courier filters exist; pagination parameters were not found in what was read (8 of 20). Every response carries an HTTP code and a meta code with a message, such as 4121 for an undetected courier and 4190 for a reached quota (14 of 20). No idempotency key. A repeated create is rejected with 4101, so the write is safe to retry, and delete and retrack take ids (10 of 20). Create needs only tracking_number and courier_code, detect is free, and official SDKs cover seven languages (12 of 15). 10 + 8 + 14 + 10 + 12 = 54.\n\n### Transparency \u0026 trust: ShipStation API +7\n\n- ShipStation API (64): Closed service under terms of service effective 16 July 2026 that name Auctane LLC d/b/a ShipStation. The v2 OpenAPI file is marked MIT and the SDKs are Apache 2.0 (16). The privacy policy, effective 18 March 2026, is Auctane, Inc.'s for all its brands. It keeps data \"as long as necessary\" with no periods, and says third parties may not train AI models on personal information. No public DPA was found (12). The legacy V1 API is described as deprecated with removal \"in the future\" and no date, and the terms let ShipStation withdraw API access at its discretion (6). US persons' data stays in the United States and EEA and UK data may move there under the Data Privacy Framework. Service providers are named by type, with no subprocessor list (8). Docs, pricing and legal pages per the 7 October check, not re-read on 4 November.\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: ShipStation API +5\n\n- ShipStation API (70): Graded on ShipStation API v2 at api.shipstation.com/v2, with the hosted lines. Statuspage at status.shipstation.com with components for Companion API V1 and V2, carriers and marketplaces (20). The history pages and feed, read on 4 November, list 13 incidents and one scheduled maintenance between 6 August and 4 November. The four labelled major each touch one or two carriers (DPD Local and DX on 11 September, Evri on 24 and 25 September, DPD on 20 October, Evri shipments to the EU on 29 and 30 October), and the rest are minor or notices, so all are partial and read as minor (20). 200 requests a minute by default, per the 7 October check, not re-read on 4 November (15). 429 responses carry `Retry-After` and the docs ask for retries handled globally, with no idempotency key or safe-retry guidance for label purchases, per the 7 October check, not re-read on 4 November (10). No SLA found (0). The getting-started page says v2 \"is currently in an early release stage\" while calling it tested and stable, per the 7 October check, not re-read on 4 November (5).\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 | ShipStation API | TrackingMore | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 65 | ShipStation API +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 31 | ShipStation API +52 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 54 | ShipStation API +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 32 | 31 | ShipStation API +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 23 | ShipStation API +17 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 33 | 19 | ShipStation API +14 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 57 | ShipStation API +7 |\n| Negative events | ≤15 | -6 | 0 | |\n| **Total** | | **51 · D** | **41.8 · E** | |\n\n## Facts side by side\n\n| Fact | ShipStation API | TrackingMore |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Auctane LLC d/b/a ShipStation | CHANNELWILL CO., LIMITED |\n| Hosted endpoint | `https://api.shipstation.com/v2` | `https://api.trackingmore.com/v4` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| Price for shipment tracking | not published | $0.03 per transaction |\n| x402 | no | no |\n| Licence | Proprietary service under ShipStation's terms of service. The v2 OpenAPI file is marked MIT and the SDKs on GitHub are Apache 2.0 | Proprietary hosted service under the CWILL Terms of Service. The seven official SDKs on GitHub are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-01 | 2024-12-25 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | 2026-03-18 | 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 | yes | not found in the text |\n| Popularity | 6.8k npm/wk | 6 stars |\n\n## How the scores have moved\n\n### ShipStation API\n\n- -8.3 on 4 November 2026 (C to D): correction, negative event\n\n### TrackingMore\n\nNo score change since it was listed.\n\n## Verdicts\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 or idempotency keys on label purchases, and API release notes carry month-only dates.\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### 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### 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, ShipStation API or TrackingMore?\n\nShipStation API scores 51 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in every scored category.\n\n### Do ShipStation API and TrackingMore need an API key?\n\nBoth need an API key.\n\n### Can an agent call ShipStation API and TrackingMore without installing anything?\n\nYes. ShipStation API has a hosted endpoint at https://api.shipstation.com/v2 and TrackingMore at https://api.trackingmore.com/v4.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/shipstation-vs-trackingmore.json, and with the fewest tokens: https://www.anchorterminal.com/compare/shipstation-vs-trackingmore.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"shipstation\", \"b\": \"trackingmore\"}`. From a terminal: `anchor compare shipstation trackingmore`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/shipstation.json and https://www.anchorterminal.com/api/v1/tools/trackingmore.json\n\n## Other comparisons with ShipStation API or TrackingMore\n\n- [EasyPost vs ShipStation API](https://www.anchorterminal.com/compare/easypost-vs-shipstation.md)\n- [Easyship vs ShipStation API](https://www.anchorterminal.com/compare/easyship-vs-shipstation.md)\n- [Karrio vs ShipStation API](https://www.anchorterminal.com/compare/karrio-vs-shipstation.md)\n- [Sendcloud vs ShipStation API](https://www.anchorterminal.com/compare/sendcloud-vs-shipstation.md)\n- [ShipBob vs ShipStation API](https://www.anchorterminal.com/compare/shipbob-vs-shipstation.md)\n- [Shippo vs ShipStation API](https://www.anchorterminal.com/compare/shippo-vs-shipstation.md)\n- [ShippyPro vs ShipStation API](https://www.anchorterminal.com/compare/shippypro-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 ShipStation API](https://www.anchorterminal.com/compare/ship24-vs-shipstation.md)\n- [Ship24 vs TrackingMore](https://www.anchorterminal.com/compare/ship24-vs-trackingmore.md)\n- [ShipBob vs TrackingMore](https://www.anchorterminal.com/compare/shipbob-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",
  "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": "ShipStation API vs TrackingMore",
        "url": ""
      }
    ],
    "description": "ShipStation scores 51 (D) to TrackingMore's 41.8 (E) for shipment tracking. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "ShipStation API D 51",
      "TrackingMore E 41.8",
      "scores"
    ],
    "h1": "ShipStation API vs TrackingMore",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/shipstation-vs-trackingmore",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ShipStation vs TrackingMore for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/shipstation-vs-trackingmore"
  },
  "tokens": {
    "markdown": 4800,
    "slim": 3080
  },
  "version": 1
}
