{
  "data": {
    "a": {
      "slug": "ship24",
      "name": "Ship24",
      "vendor": "Ship24 Limited",
      "vendorUrl": "https://www.ship24.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "Ship24 is a parcel tracking API from Ship24 Limited in Hong Kong. Its REST API and hosted MCP server create trackers, return normalised tracking events across couriers and push updates by webhook.",
      "url": "https://www.anchorterminal.com/tools/ship24",
      "markdownUrl": "https://www.anchorterminal.com/tools/ship24.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ship24.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ship24.json",
      "dns": "ship24.grade.anchorterminal.com",
      "repo": "https://github.com/ship24/ship24-node",
      "license": "Proprietary service under Ship24's Terms and Conditions. The Node SDK and the AI plugin on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.ship24.com/public/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "ship24"
        }
      ],
      "auth": "api-key",
      "authNotes": "A self-serve API key, sent as `Authorization: Bearer apik_...`. A default key is created once a plan (free or paid) is chosen in the dashboard, and an account can hold up to 20 active keys. Keys have no scopes. The hosted MCP server takes the same key in the same header. No OAuth, partner review or sales approval is needed for the listed plans.",
      "pricing": "freemium",
      "pricingNotes": "Free for 10 shipments a month on the Tracking API, blocked at the limit, so an agent can start without a contract. Paid per-shipment plans start at $39 a month for 1,000 shipments with $0.045 for each extra. Per-call plans start at $99 a month for 10,000 calls with $0.015 for each extra. Above 1,000,000 shipments a month pricing is by sales. Whether the free plan needs a card wasn't established (checked 2026-10-08).",
      "priceSummary": "$39 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 12,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 79,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.ship24.com",
      "llmsTxt": "https://docs.ship24.com/llms.txt",
      "openapi": "https://docs.ship24.com/assets/openapi/ship24-tracking-api.yaml",
      "registryName": "com.ship24/tracking-mcp",
      "capabilities": [
        "shipping.tracking"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "openapi",
        "llms-txt",
        "mcp",
        "webhooks",
        "free-tier",
        "typescript",
        "tracking"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.4,
        "grade": "D",
        "agentReady": false,
        "rank": 874,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 60,
          "payments": 30,
          "reliability": 42,
          "schema": 81,
          "security": 34,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "The REST API and the hosted MCP server share one public OpenAPI 3.1 spec, numbered rate limits with Retry-After, and tracker creation that is idempotent by payload. No status page, SLA or security certification was found, API keys carry no scopes, and the API agreement and data processing agreement named in the terms aren't published.",
        "bestFor": "An agent that only needs tracking events across many couriers, by webhook or by lookup, from a tracking number alone.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 12 operations and two webhook definitions, plus llms.txt and a hosted `SKILL.md` integration guide",
          "Hosted MCP server at `https://api.ship24.com/mcp` with 11 documented tools over the same API, and an AI plugin with eight skills",
          "Rate limits are published per endpoint (1 to 10 requests a second) with `RateLimit-*`, `X-RateLimit-*` and `Retry-After` headers",
          "`POST /trackers` and `POST /trackers/track` are idempotent for an identical payload, and `clientTrackerId` is checked for uniqueness",
          "Prices are public for both billing models, with a free API plan of 10 shipments a month and sample tracking numbers for each status"
        ],
        "weaknesses": [
          "No status page was found. `status.ship24.com` doesn't resolve, and neither the site nor the docs link to one",
          "The terms supply the service as is, with no uptime commitment, and allow account termination and data deletion without notice",
          "API keys have no scopes or read-only mode. The docs describe up to 20 keys an account, managed in the dashboard",
          "Webhooks are authenticated by a static secret in the `Authorization` header, with no payload signature",
          "The API agreement and the data processing agreement named in the terms, and a subprocessor list, were not found on the site"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer apik_...` to `https://api.ship24.com/public/v1`. The same key goes in the `Authorization` header of the MCP server at `https://api.ship24.com/mcp`",
          "Store the `trackerId` or set a unique `clientTrackerId`. Tracking numbers aren't unique, and any changed field on a repeat `POST /trackers` creates a second tracker that uses quota",
          "Allow up to 60 seconds for the first `POST /trackers/track` or `POST /tracking/search` call, since results are fetched from the courier synchronously",
          "Cache `GET /couriers`. It is limited to one request a second and returns the whole courier list, and courier auto-detection usually makes `courierCode` unnecessary",
          "Check for `quota_limit_reached` and `no_active_subscription`. `POST /tracking/search` needs a separate per-call plan, and the free plan blocks at 10 shipments a month"
        ],
        "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": 52.4
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 60,
          "payments": 30,
          "reliability": 42,
          "schema": 81,
          "security": 34,
          "transparency": 43
        },
        "provenanceScore": 66,
        "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": {
        "install": "npm install ship24",
        "http": "curl -sS -X POST https://api.ship24.com/public/v1/trackers/track \\\n  -H \"Authorization: Bearer $SHIP24_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{ \"trackingNumber\": \"SHIP24_SAMPLE_DELIVERED_000\" }'",
        "claudeCode": "claude mcp add --transport http ship24-tracking https://api.ship24.com/mcp -H \"Authorization: Bearer apik_your_key_here\"",
        "config": {
          "mcpServers": {
            "ship24-tracking": {
              "headers": {
                "Authorization": "Bearer apik_your_key_here"
              },
              "type": "http",
              "url": "https://api.ship24.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/shipping.tracking",
        "tool": "https://letme.dev/ship24"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Tracking API Pro, 1,000 shipments",
          "unit": "month",
          "usd": 39,
          "note": "$0.039 a shipment; tiers up to 1,000,000 a month"
        },
        {
          "item": "Extra tracked shipment",
          "unit": "tx",
          "usd": 0.045,
          "note": "on the 1,000 tier; $0.010 on the 1,000,000 tier"
        },
        {
          "item": "Per-call plan, 10,000 calls",
          "unit": "month",
          "usd": 99,
          "note": "separate subscription for `POST /tracking/search`"
        },
        {
          "item": "Extra per-call lookup",
          "unit": "call",
          "usd": 0.015,
          "note": "on the 10,000 tier; $0.007 on the 1.5 million tier"
        }
      ],
      "provenance": {
        "legalEntity": "Ship24 Limited",
        "domain": "ship24.com",
        "domainRegistered": "2005-09-18",
        "endpointOnVendorDomain": true,
        "terms": "https://www.ship24.com/terms",
        "privacy": "https://www.ship24.com/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The Terms and Conditions say Ship24 Limited, a company registered in Hong Kong, is the party called Ship24, and place disputes with the courts of Hong Kong. They carry no date or version.",
          "The terms govern accounts, fees and the API, and say an Application developer and API agreement and a Data Processing Agreement also apply. Neither document was found on the site.",
          "The privacy policy was last updated in August 2026 and has a section on the MCP integration. It names UAB Clefino of Lithuania as a group company for the IOSS service.",
          "The about page lists offices in Hong Kong, Tremblay-en-France and Vilnius.",
          "www.ship24.com, docs.ship24.com and api.ship24.com have no security.txt. SECURITY.md in ship24-ai-plugin gives contact@ship24.com for reports.",
          "No status page and no API changelog were found. The Node SDK and the plugin each keep a CHANGELOG.md on GitHub.",
          "RDAP for ship24.com gives a registration date of 2005-09-18."
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ship24.json",
      "live": {
        "slug": "ship24",
        "probe": {
          "target": "https://api.ship24.com/public/v1",
          "method": "get",
          "lastAt": "2026-11-04T20:47:14.256638472Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 298,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 277,
          "p95ms24h": 351,
          "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
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "ship24/ship24-node",
            "version": "v1.1.0",
            "released": "2026-10-06",
            "seenAt": "2026-11-03T20:57:23.40768882Z"
          },
          {
            "registry": "mcp-registry",
            "name": "com.ship24/tracking-mcp",
            "version": "1.0.1",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          },
          {
            "registry": "npm",
            "name": "ship24",
            "version": "1.1.0",
            "seenAt": "2026-11-03T20:57:22.972194239Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 304,
        "securityTxt": {
          "url": "https://ship24.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:54.293597417Z"
        },
        "llmsTxt": {
          "url": "https://docs.ship24.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-04T15:24:12.919465181Z"
        },
        "domain": {
          "domain": "ship24.com",
          "registered": "2005-09-18",
          "source": "https://rdap.verisign.com/com/v1/domain/ship24.com",
          "checkedAt": "2026-11-01T14:16:06.459808946Z"
        },
        "pages": [
          {
            "url": "https://www.ship24.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:45:09.519943615Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6f9cee891903"
          },
          {
            "url": "https://www.ship24.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:45:11.731404398Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "333cfe1372b8"
          }
        ],
        "github": {
          "repo": "ship24/ship24-node",
          "checkedAt": "2026-11-02T09:25:03.903137014Z",
          "stars": 0,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-14T18:35:52Z",
          "openIssues": 0,
          "openPRs": 5,
          "issuesOpened90d": 1,
          "issuesClosed90d": 1,
          "prsMerged90d": 2,
          "ci": {
            "branch": "main",
            "runs": 16,
            "success": 9,
            "failure": 7,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-06T07:46:00Z"
          },
          "replies": {
            "sampled": 1,
            "unanswered": 0,
            "medianDays": 0.1
          }
        },
        "updatedAt": "2026-11-04T20:47:14.256638472Z"
      }
    },
    "answer": "Ship24 scores 52.4 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in 5 of 7 scored categories. TrackingMore leads on reliability.",
    "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": 50,
        "category": "schema",
        "leads": "ship24",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "A public OpenAPI 3.1 spec at `docs.ship24.com/assets/openapi/ship24-tracking-api.yaml` covers 12 operations and two webhooks and is linked as a download from the AI integration page (25, re-read 4 November). llms.txt and a hosted `SKILL.md` guide exist, but the docs pages have no Markdown copies and llms.txt truncates its descriptions (8 of 10). The docs' MCP tool table says what each tool does and which calls are billed or large, such as caching `get_couriers`, and the docs explain the three ways to fetch results (18 of 20). Inputs are typed with required fields, 12 enums and limits such as 5 to 50 characters for a tracking number and 500 a page, though the `Authorization` header is modelled as a plain string parameter (12 of 15). The spec has many examples and the errors page lists 12 codes, but most operations document only their success response (10 of 15). The path carries v1 and the data format page promises that fields are never removed and lists four deprecated fields with months. No API changelog was found, only the SDK and plugin changelogs (8 of 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": 81,
          "b": 31
        }
      },
      {
        "by": 41,
        "category": "maintenance",
        "leads": "ship24",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Every dated source of Ship24's own looked for on 4 November, from depth-200 clones. They are the `ship24` Node SDK (tags v1.0.0 on 14 July and v1.1.0 on 6 October 2026), ship24-ai-plugin (v1.0.0 on 9 September 2026), n8n-nodes-ship24 (newest v1.1.3 on 30 June 2026), the data format page's deprecated-field table (`signedBy`, dated 2026-08 by month only) and no API changelog. The newest release is the SDK's 1.1.0 on 6 October, 29 days back (30). In the 90 days from 6 August there are two dated releases, SDK 1.1.0 and plugin 1.0.0. The 14 and 16 July releases have left the window and the MCP server's 27 August version date came from the MCP registry's JSON API, which is struck, so the line is 0 (20 on 8 October). The service is closed, with no API changelog. Support is a contact form, and four open SDK issues and two plugin issues were counted on 8 October, not re-read (6 of 15, kept). Current official SDK for Node.js and TypeScript, synced with the OpenAPI spec in 1.1.0 (15). The SDK has no runtime dependencies, CI that tests Node 20, 22 and 24, and a workflow that reports drift from the OpenAPI spec (9 of 10). 30 + 0 + 6 + 15 + 9 = 60.",
          "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": 60,
          "b": 19
        }
      },
      {
        "by": 23,
        "category": "reliability",
        "leads": "trackingmore",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines and scored on the REST API at `api.ship24.com/public/v1`, which the hosted MCP server wraps. No status page was found. `status.ship24.com` doesn't resolve, `ship24.statuspage.io` still redirects to its inactive page, and neither the site footer nor the docs link to one (0, re-read 4 November). With no readable incident history the record scores the default (5 of 30). The rate limiter page gives a number for each of 11 endpoints, from 1 request a second on `GET /couriers` and webhook resend to 10 on most others (15). The rate limiter page documents `RateLimit-*`, `X-RateLimit-*` and `Retry-After` headers, the errors page recommends exponential back-off on 429, and tracker creation is documented as idempotent for an identical payload with a 409 `request_conflict`. That is back-off plus safe-retry guidance with no idempotency keys, 12 on this run's settled reading (15 on 8 October). The terms supply the service as is and as available, with no SLA found for any plan (0). The path is `/public/v1` with no beta label (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.",
          "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": 42,
          "b": 65
        }
      },
      {
        "by": 14,
        "category": "ergonomics",
        "leads": "ship24",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Scored on the REST API and the MCP server together. The docs list 11 MCP tools; the REST API has no field selection, so a results call returns every event (13 of 25, kept; the 8 October size of the tools/list answer came from a request to the server and is struck). `GET /trackers` pages by `page` and `limit` (default 100, maximum 500) with a sort order. No filter appears in the spec for that call, and `GET /couriers` returns the full list unpaged (12 of 20). Errors are a JSON `errors` array with a stable `code` and a message that says what to fix, with 12 documented codes (16 of 20). `POST /trackers` and `POST /trackers/track` are idempotent for an identical payload, `clientTrackerId` is validated as unique, and the bulk call is documented as not fully idempotent. The MCP annotations credited on 8 October came from the struck tools/list request, so the line now rests on the REST behaviour (18 of 20, the earlier partial kept and flagged). Only `trackingNumber` is required and the courier is detected automatically. One official SDK exists, for Node.js and TypeScript, so the two-language line isn't met (9 of 15). 13 + 12 + 16 + 18 + 9 = 68.",
          "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": 68,
          "b": 54
        }
      },
      {
        "by": 7,
        "category": "payments",
        "leads": "ship24",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Read with the hosted rubric. No x402, MPP or L402 was found in the docs, the spec or the pricing page (0). The pricing page lists both billing models without a login, per shipment from $39 a month for 1,000 with $0.045 for each extra shipment, and per call from $99 a month for 10,000 with $0.015 for each extra call, with every tier and overage rate in a table (20). The Tracking API has a free plan of 10 shipments a month. Whether signup asks for a card wasn't established, because the dashboard needs a login we didn't create (10 of 20). A person signs up and picks a plan in the dashboard, and API key creation isn't available through the API or the MCP server (0).",
          "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": 30,
          "b": 23
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Ship24 Limited",
        "b": "CHANNELWILL CO., LIMITED",
        "name": "Vendor"
      },
      {
        "a": "https://api.ship24.com/public/v1",
        "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": "$0.045 per transaction",
        "b": "$0.03 per transaction",
        "name": "Price for shipment tracking"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Ship24's Terms and Conditions. The Node SDK and the AI plugin on GitHub are MIT",
        "b": "Proprietary hosted service under the CWILL Terms of Service. The seven official SDKs on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "12",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "com.ship24/tracking-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-06",
        "b": "2024-12-25",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-01",
        "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": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "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": "0 stars, 79 npm/wk",
        "b": "6 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Ship24 scores 52.4 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in 5 of 7 scored categories. TrackingMore leads on reliability.",
        "question": "Which is better for AI agents, Ship24 or TrackingMore?"
      },
      {
        "answer": "TrackingMore, at $0.03 per transaction against $0.045 per transaction for Ship24. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for shipment tracking, Ship24 or TrackingMore?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Ship24 and TrackingMore need an API key?"
      },
      {
        "answer": "Yes. Ship24 has a hosted endpoint at https://api.ship24.com/public/v1 and TrackingMore at https://api.trackingmore.com/v4.",
        "question": "Can an agent call Ship24 and TrackingMore without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 31",
          "Agent ergonomics, 68 against 54",
          "Payments \u0026 pricing, 30 against 23",
          "Maintenance \u0026 community, 60 against 19"
        ],
        "also": null,
        "goodFor": "An agent that only needs tracking events across many couriers, by webhook or by lookup, from a tracking number alone.",
        "slug": "ship24",
        "watchFor": "No status page was found. `status.ship24.com` doesn't resolve, and neither the site nor the docs link to one"
      },
      {
        "aheadOn": [
          "Reliability, 65 against 42"
        ],
        "also": [
          "Cheaper for shipment tracking, $0.03 against $0.045 per transaction"
        ],
        "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": {
      "ship24": [
        {
          "causes": [
            "evidence",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -2.6,
          "from": 55,
          "fromGrade": "C",
          "to": 52.4,
          "toGrade": "D"
        }
      ],
      "trackingmore": null
    },
    "job": {
      "capability": "shipping.tracking",
      "name": "Shipment tracking"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/easypost-vs-ship24.json",
        "title": "EasyPost vs Ship24",
        "url": "https://www.anchorterminal.com/compare/easypost-vs-ship24"
      },
      {
        "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-ship24.json",
        "title": "Easyship vs Ship24",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-ship24"
      },
      {
        "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-ship24.json",
        "title": "Karrio vs Ship24",
        "url": "https://www.anchorterminal.com/compare/karrio-vs-ship24"
      },
      {
        "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-ship24.json",
        "title": "Sendcloud vs Ship24",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-ship24"
      },
      {
        "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-shippo.json",
        "title": "Ship24 vs Shippo",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shippo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ship24-vs-shippypro.json",
        "title": "Ship24 vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shippypro"
      },
      {
        "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/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"
      },
      {
        "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": 23,
        "edge": "trackingmore",
        "key": "reliability",
        "name": "Reliability",
        "ship24": 42,
        "trackingmore": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 50,
        "edge": "ship24",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "ship24": 81,
        "trackingmore": 31,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "ship24",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "ship24": 68,
        "trackingmore": 54,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "ship24",
        "key": "security",
        "name": "Security \u0026 auth",
        "ship24": 34,
        "trackingmore": 31,
        "weight": 14
      },
      {
        "by": 7,
        "edge": "ship24",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "ship24": 30,
        "trackingmore": 23,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 41,
        "edge": "ship24",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "ship24": 60,
        "trackingmore": 19,
        "weight": 7
      },
      {
        "by": 2,
        "edge": "trackingmore",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "ship24": 55,
        "trackingmore": 57,
        "weight": 7
      }
    ],
    "summary": "Ship24 scores 52.4 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in 5 of 7 scored categories. TrackingMore leads on reliability. Both do shipment tracking. TrackingMore is cheaper for shipment tracking, $0.03 against $0.045 per transaction.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "ship24": "The REST API and the hosted MCP server share one public OpenAPI 3.1 spec, numbered rate limits with Retry-After, and tracker creation that is idempotent by payload. No status page, SLA or security certification was found, API keys carry no scopes, and the API agreement and data processing agreement named in the terms aren't published.",
      "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/ship24-vs-trackingmore",
    "json": "https://www.anchorterminal.com/compare/ship24-vs-trackingmore.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/ship24-vs-trackingmore.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/ship24-vs-trackingmore.min.md"
  },
  "markdown": "Ship24 scores 52.4 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in 5 of 7 scored categories. TrackingMore leads on reliability. Both do shipment tracking. TrackingMore is cheaper for shipment tracking, $0.03 against $0.045 per transaction.\n\n- Ship24: grade D, 52.4/100, rank #874 of 1349. Markdown https://www.anchorterminal.com/tools/ship24.md · JSON https://www.anchorterminal.com/api/v1/tools/ship24.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### Ship24 (D)\n\nGood for: An agent that only needs tracking events across many couriers, by webhook or by lookup, from a tracking number alone.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 31\n- Agent ergonomics, 68 against 54\n- Payments \u0026 pricing, 30 against 23\n- Maintenance \u0026 community, 60 against 19\n\nWatch for: No status page was found. `status.ship24.com` doesn't resolve, and neither the site nor the docs link to one\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\nAhead on:\n- Reliability, 65 against 42\n\nAlso in its favour:\n- Cheaper for shipment tracking, $0.03 against $0.045 per transaction\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: Ship24 +50\n\n- Ship24 (81): A public OpenAPI 3.1 spec at `docs.ship24.com/assets/openapi/ship24-tracking-api.yaml` covers 12 operations and two webhooks and is linked as a download from the AI integration page (25, re-read 4 November). llms.txt and a hosted `SKILL.md` guide exist, but the docs pages have no Markdown copies and llms.txt truncates its descriptions (8 of 10). The docs' MCP tool table says what each tool does and which calls are billed or large, such as caching `get_couriers`, and the docs explain the three ways to fetch results (18 of 20). Inputs are typed with required fields, 12 enums and limits such as 5 to 50 characters for a tracking number and 500 a page, though the `Authorization` header is modelled as a plain string parameter (12 of 15). The spec has many examples and the errors page lists 12 codes, but most operations document only their success response (10 of 15). The path carries v1 and the data format page promises that fields are never removed and lists four deprecated fields with months. No API changelog was found, only the SDK and plugin changelogs (8 of 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: Ship24 +41\n\n- Ship24 (60): Every dated source of Ship24's own looked for on 4 November, from depth-200 clones. They are the `ship24` Node SDK (tags v1.0.0 on 14 July and v1.1.0 on 6 October 2026), ship24-ai-plugin (v1.0.0 on 9 September 2026), n8n-nodes-ship24 (newest v1.1.3 on 30 June 2026), the data format page's deprecated-field table (`signedBy`, dated 2026-08 by month only) and no API changelog. The newest release is the SDK's 1.1.0 on 6 October, 29 days back (30). In the 90 days from 6 August there are two dated releases, SDK 1.1.0 and plugin 1.0.0. The 14 and 16 July releases have left the window and the MCP server's 27 August version date came from the MCP registry's JSON API, which is struck, so the line is 0 (20 on 8 October). The service is closed, with no API changelog. Support is a contact form, and four open SDK issues and two plugin issues were counted on 8 October, not re-read (6 of 15, kept). Current official SDK for Node.js and TypeScript, synced with the OpenAPI spec in 1.1.0 (15). The SDK has no runtime dependencies, CI that tests Node 20, 22 and 24, and a workflow that reports drift from the OpenAPI spec (9 of 10). 30 + 0 + 6 + 15 + 9 = 60.\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### Reliability: TrackingMore +23\n\n- Ship24 (42): Read with the hosted lines and scored on the REST API at `api.ship24.com/public/v1`, which the hosted MCP server wraps. No status page was found. `status.ship24.com` doesn't resolve, `ship24.statuspage.io` still redirects to its inactive page, and neither the site footer nor the docs link to one (0, re-read 4 November). With no readable incident history the record scores the default (5 of 30). The rate limiter page gives a number for each of 11 endpoints, from 1 request a second on `GET /couriers` and webhook resend to 10 on most others (15). The rate limiter page documents `RateLimit-*`, `X-RateLimit-*` and `Retry-After` headers, the errors page recommends exponential back-off on 429, and tracker creation is documented as idempotent for an identical payload with a 409 `request_conflict`. That is back-off plus safe-retry guidance with no idempotency keys, 12 on this run's settled reading (15 on 8 October). The terms supply the service as is and as available, with no SLA found for any plan (0). The path is `/public/v1` with no beta label (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.\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### Agent ergonomics: Ship24 +14\n\n- Ship24 (68): Scored on the REST API and the MCP server together. The docs list 11 MCP tools; the REST API has no field selection, so a results call returns every event (13 of 25, kept; the 8 October size of the tools/list answer came from a request to the server and is struck). `GET /trackers` pages by `page` and `limit` (default 100, maximum 500) with a sort order. No filter appears in the spec for that call, and `GET /couriers` returns the full list unpaged (12 of 20). Errors are a JSON `errors` array with a stable `code` and a message that says what to fix, with 12 documented codes (16 of 20). `POST /trackers` and `POST /trackers/track` are idempotent for an identical payload, `clientTrackerId` is validated as unique, and the bulk call is documented as not fully idempotent. The MCP annotations credited on 8 October came from the struck tools/list request, so the line now rests on the REST behaviour (18 of 20, the earlier partial kept and flagged). Only `trackingNumber` is required and the courier is detected automatically. One official SDK exists, for Node.js and TypeScript, so the two-language line isn't met (9 of 15). 13 + 12 + 16 + 18 + 9 = 68.\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### Payments \u0026 pricing: Ship24 +7\n\n- Ship24 (30): Read with the hosted rubric. No x402, MPP or L402 was found in the docs, the spec or the pricing page (0). The pricing page lists both billing models without a login, per shipment from $39 a month for 1,000 with $0.045 for each extra shipment, and per call from $99 a month for 10,000 with $0.015 for each extra call, with every tier and overage rate in a table (20). The Tracking API has a free plan of 10 shipments a month. Whether signup asks for a card wasn't established, because the dashboard needs a login we didn't create (10 of 20). A person signs up and picks a plan in the dashboard, and API key creation isn't available through the API or the MCP server (0).\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## Score by category\n\n| Category | Weight | Ship24 | TrackingMore | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 42 | 65 | TrackingMore +23 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 31 | Ship24 +50 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 54 | Ship24 +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 34 | 31 | Ship24 +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 23 | Ship24 +7 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 19 | Ship24 +41 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 57 | TrackingMore +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.4 · D** | **41.8 · E** | |\n\n## Facts side by side\n\n| Fact | Ship24 | TrackingMore |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Ship24 Limited | CHANNELWILL CO., LIMITED |\n| Hosted endpoint | `https://api.ship24.com/public/v1` | `https://api.trackingmore.com/v4` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| Price for shipment tracking | $0.045 per transaction | $0.03 per transaction |\n| x402 | no | no |\n| Licence | Proprietary service under Ship24's Terms and Conditions. The Node SDK and the AI plugin on GitHub are MIT | Proprietary hosted service under the CWILL Terms of Service. The seven official SDKs on GitHub are MIT |\n| Tools exposed | 12 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `com.ship24/tracking-mcp` | not listed |\n| Last release | 2026-10-06 | 2024-12-25 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | 2026-08-01 | 2026-08-08 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 0 stars, 79 npm/wk | 6 stars |\n\n## How the scores have moved\n\n### Ship24\n\n- -2.6 on 4 November 2026 (C to D): new evidence, correction\n\n### TrackingMore\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Ship24.** The REST API and the hosted MCP server share one public OpenAPI 3.1 spec, numbered rate limits with Retry-After, and tracker creation that is idempotent by payload. No status page, SLA or security certification was found, API keys carry no scopes, and the API agreement and data processing agreement named in the terms aren't published.\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### Ship24\n\n1. Send `Authorization: Bearer apik_...` to `https://api.ship24.com/public/v1`. The same key goes in the `Authorization` header of the MCP server at `https://api.ship24.com/mcp`\n2. Store the `trackerId` or set a unique `clientTrackerId`. Tracking numbers aren't unique, and any changed field on a repeat `POST /trackers` creates a second tracker that uses quota\n3. Allow up to 60 seconds for the first `POST /trackers/track` or `POST /tracking/search` call, since results are fetched from the courier synchronously\n4. Cache `GET /couriers`. It is limited to one request a second and returns the whole courier list, and courier auto-detection usually makes `courierCode` unnecessary\n5. Check for `quota_limit_reached` and `no_active_subscription`. `POST /tracking/search` needs a separate per-call plan, and the free plan blocks at 10 shipments a month\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, Ship24 or TrackingMore?\n\nShip24 scores 52.4 (D) on agent readiness against TrackingMore's 41.8 (E), and leads in 5 of 7 scored categories. TrackingMore leads on reliability.\n\n### Which is cheaper for shipment tracking, Ship24 or TrackingMore?\n\nTrackingMore, at $0.03 per transaction against $0.045 per transaction for Ship24. These are the vendors' published prices for the job.\n\n### Do Ship24 and TrackingMore need an API key?\n\nBoth need an API key.\n\n### Can an agent call Ship24 and TrackingMore without installing anything?\n\nYes. Ship24 has a hosted endpoint at https://api.ship24.com/public/v1 and TrackingMore at https://api.trackingmore.com/v4.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/ship24-vs-trackingmore.json, and with the fewest tokens: https://www.anchorterminal.com/compare/ship24-vs-trackingmore.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"ship24\", \"b\": \"trackingmore\"}`. From a terminal: `anchor compare ship24 trackingmore`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/ship24.json and https://www.anchorterminal.com/api/v1/tools/trackingmore.json\n\n## Other comparisons with Ship24 or TrackingMore\n\n- [EasyPost vs Ship24](https://www.anchorterminal.com/compare/easypost-vs-ship24.md)\n- [EasyPost vs TrackingMore](https://www.anchorterminal.com/compare/easypost-vs-trackingmore.md)\n- [Easyship vs Ship24](https://www.anchorterminal.com/compare/easyship-vs-ship24.md)\n- [Easyship vs TrackingMore](https://www.anchorterminal.com/compare/easyship-vs-trackingmore.md)\n- [Karrio vs Ship24](https://www.anchorterminal.com/compare/karrio-vs-ship24.md)\n- [Karrio vs TrackingMore](https://www.anchorterminal.com/compare/karrio-vs-trackingmore.md)\n- [Sendcloud vs Ship24](https://www.anchorterminal.com/compare/sendcloud-vs-ship24.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 Shippo](https://www.anchorterminal.com/compare/ship24-vs-shippo.md)\n- [Ship24 vs ShippyPro](https://www.anchorterminal.com/compare/ship24-vs-shippypro.md)\n- [Ship24 vs ShipStation API](https://www.anchorterminal.com/compare/ship24-vs-shipstation.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- [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": "Ship24 vs TrackingMore",
        "url": ""
      }
    ],
    "description": "Ship24 scores 52.4 (D) to TrackingMore's 41.8 (E) for shipment tracking. TrackingMore is cheaper for shipment tracking, $0.03 against $0.045 per transaction. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Ship24 D 52.4",
      "TrackingMore E 41.8",
      "scores"
    ],
    "h1": "Ship24 vs TrackingMore",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/ship24-vs-trackingmore",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Ship24 vs TrackingMore for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/ship24-vs-trackingmore"
  },
  "tokens": {
    "markdown": 4750,
    "slim": 2930
  },
  "version": 1
}
