Head to head · Shipment tracking · October 2026 research run

Easyship vs TrackingMore

Easyship scores 70.6 (BB) on agent readiness against TrackingMore's 41.8 (E), and leads in every scored category. Both do shipment tracking.

Best shipping and fulfilment APIs for AI agents · All 45 shipping comparisons

Which one, for what

Easyship BB

Best for An agent that ships parcels for a small or mid-sized merchant, mostly cross-border, and wants rates, labels, duties and pickups from one account without carrier contracts.

Ahead on

  • Reliability, 80 against 65
  • Schema & documentation, 87 against 31
  • Agent ergonomics, 73 against 54
  • Security & auth, 61 against 31
  • Payments & pricing, 40 against 23
  • Maintenance & community, 76 against 19
  • Transparency & trust, 72 against 57

Also in its favour

  • Agent-ready, a grade of BB or better
  • Runs on your own machine

Watch for

No idempotency keys in the 132-operation spec, and no Retry-After or backoff guidance for 429

TrackingMore E

Best for An agent that reports where a parcel is across many carriers from a tracking number, with a cheap per-tracking price.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

The API reference renders by script and no OpenAPI file, llms.txt or Markdown docs were found

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Maintenance & community Easyship +57

Easyship 76

easyship-mcp 0.6.7 was published on 28 October 2026, 4 days before the check, after 0.6.6 on 19 October, both on PyPI and in the MCP registry. Neither has release notes and their source packages couldn't be read on 1 November, so what they change is unchecked, but nothing shows them to be dependency or version bumps only, so they count as releases (30, was 20). The API changelog's last entry is still 30 October 2025. Five releases in the 90 days on three dates, 0.6.3 to 0.6.5 on 21 August, 0.6.6 and 0.6.7 (20, was 10). Closed service with a support desk and a bug report form. The plugin repository has seven commits, the last on 23 June 2026, and the API changelog has been silent for 12 months (6). Listed in the official MCP registry as com.easyship/mcp, a domain-verified namespace, with 0.6.7 as latest (15). The package pins fastmcp below 4 with a uv.lock and has version-check and deploy workflows. No tests ship in the 0.6.5 source package (5). 30 + 20 + 6 + 15 + 5 = 76.

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.

Schema & documentation Easyship +56

Easyship 87

Every reference page has a Markdown twin with its OpenAPI 3.0.3 definition, and the full v2024-09 spec (132 operations on 98 paths) ships in the easyship-mcp source package. No single spec URL was found on the docs site. MCP inputs are typed with Pydantic (25). llms.txt at developers.easyship.com lists 240 lines of Markdown pages (10). MCP descriptions state what to collect before calling, when to buy a label or only draft a shipment, and which tool to use for detail. Not every tool says when not to use it (17). The spec has 177 enum declarations and required fields. In the MCP, incoterms, currency and item category are free strings (12). Twelve error codes are documented with HTTP status and a worked example, and endpoints list 402 and 422 responses (13). Versions are dated in the path (2023-01, 2024-09) with migration guides. The changelog's last entry is 30 October 2025, and the MCP server has no changelog (10).

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.

Security & auth Easyship +30

Easyship 61

API tokens are created in the dashboard with per-resource scopes such as public.shipment:read and public.label:write on v2024-09, are revocable, and are separate for sandbox and production. The MCP server also publishes OAuth metadata with PKCE S256 and dynamic client registration. No token expiry was found (26). Read-only scopes make a read-only agent possible. Confirmation before delete and cancel exists only as a rule file in the plugin repository, not in the server (14). The MCP server strips tax identifiers from every response and withholds contact details and document links by default. No guidance on untrusted text in tracking or address fields was found (7). Transaction records and a request_id on errors are available. No API call log for the operator was found (4). security.txt is present but still expired on 5 October 2025, re-read on 1 November. It points to a disclosure policy at vdp.easyship.com, which needs JavaScript and went unread. The developers page claims SOC certification with no report or trust page found (10).

TrackingMore 31

One API key in the Tracking-Api-Key header, shown once, at most four per account, deleted in the web app. No scopes or expiry (20 of 30). No read-only key or least-privilege mode, and delete is one call (4 of 20). Tracking checkpoints are carrier text returned to the model, and no guidance was found (3 of 15). A webhook notification log exists in the web app; no log of API calls or key use was found (4 of 15). No security.txt (404), no security page on trackingmore.com, no certification, bug bounty or disclosure policy found. The CWILL privacy policy points to a trust site that was not read (0 of 20). 20 + 4 + 3 + 4 + 0 = 31.

Agent ergonomics Easyship +19

Easyship 73

The MCP server loads 25 tools with no toolsets. List tools return allow-listed summaries, and documents and contact details come back only when asked for (18). List endpoints take page and per_page (default 20) and filters by state, date, country and order number (20). Errors carry a code, type, details array, documentation links and a request_id (18). No idempotency keys, so a retried label purchase isn't protected. All 25 MCP tools set readOnlyHint, destructiveHint and openWorldHint (10). create_shipment picks a courier when none is given and get_rates needs six fields. No official SDK was found among the 15 public repositories in Easyship's GitHub organisation, though the developers page mentions SDKs (7).

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.

Payments & pricing Easyship +17

Easyship 40

No x402, MPP or L402 (0). Plan prices and per-call prices for the metered endpoints are public in the data file the plans page loads, for example US$0.01 a rates call on Free and US$29 a month for Plus. Label prices depend on the courier and come back from the rates call (20). The Free plan needs no card and covers 50 shipments a month in the US, and paid plans have a 14-day trial (20). A person signs up in a browser and creates the token in the dashboard, or approves OAuth (0).

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.

Reliability Easyship +15

Easyship 80

Graded on the public API v2024-09, which the hosted MCP server calls. Statuspage at status.easyship.com with nine Easyship components, among them Core API, Open API and Rates API (20). Re-read on 1 November from the history feed (history.atom), because status.easyship.com's robots.txt disallows /api/, where the 7 October reading was taken; that reading is struck. The feed lists no incident in the 90 days from 3 August, only scheduled database maintenance on 2 and 30 August (the second announced on 24 August). The latest incidents are a Cloudflare-related partial outage of 11 minutes on 5 December 2025 and a Cloudflare incident on 18 November 2025 (30). Limits are published as 60 requests a minute and 10 a second, 6 a minute and 1 a second in sandbox, re-read on 1 November (15). The 429 too_many_requests code is documented with the advice to wait for the next window. No Retry-After header, backoff guidance or idempotency key was found in the docs or the spec (5). The developers page claims both 99.9% and 99.99% uptime, the US terms disclaim uninterrupted access, and no SLA was found (0). Version 2024-09 is described as the latest stable version. The MCP package is classified beta on PyPI (10). 20 + 30 + 15 + 5 + 0 + 10 = 80.

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.

Score by category

CategoryWeight this runEasyshipTrackingMoreEdge
Reliability16%208065Easyship +15
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28731Easyship +56
Agent ergonomics13%16.27354Easyship +19
Security & auth14%17.56131Easyship +30
Payments & pricing10%12.54023Easyship +17
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87619Easyship +57
Transparency & trust7%8.87257Easyship +15
Negative events≤1500
TotalBB 70.6/100E 41.8/100

Facts side by side

FactEasyshipTrackingMore
KindHTTP APIHTTP API
VendorEasyship Inc.CHANNELWILL CO., LIMITED
Hosted endpointhttps://public-api.easyship.comhttps://api.trackingmore.com/v4
TransportsHTTP, Streamable HTTP, stdioHTTP
AuthOAuth or keyAPI key
PricingFreemiumFreemium
Price for shipment tracking$0.05 per call$0.03 per transaction
x402nono
LicenceProprietary service under Easyship's terms of service. The easyship-mcp server on PyPI and the plugin repository are MITProprietary hosted service under the CWILL Terms of Service. The seven official SDKs on GitHub are MIT
Tools exposed25none
Read-only variant documentednono
llms.txtyesno
MCP registrycom.easyship/mcpnot listed
Last release2026-10-282024-12-25
Terms last updated2026-07-28no date given
Privacy policy last updated2026-07-282026-08-08
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessyesyes
Terms restrict benchmarkingnot found in the textyes
Terms or service can change without noticeyesyes
Arbitration or class-action waivernot found in the textnot found in the text
Popularity0 stars, 79 PyPI/wk6 stars
Agent reviews3.5/5 (4)none

How the scores have moved

Verdicts

Easyship

Per-resource read and write scopes, separate sandbox tokens, a 132-operation OpenAPI contract and a 25-tool hosted MCP server with read-only and destructive annotations on every tool. No idempotency keys or Retry-After were found, the MCP server has no test mode, and the API changelog's last entry is dated 30 October 2025.

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.

Before you call either

Easyship

  1. Use a sand_ token against https://public-api-sandbox.easyship.com for API tests. Production rejects sandbox tokens, and sandbox allows 6 requests a minute
  2. The MCP server calls production only. Create the shipment without buy_label first, then call create_label once the user confirms the courier and price
  3. Don't retry a timed-out label purchase blindly. There's no idempotency key, so read the shipment's label_state first
  4. Give every item a category or an hs_code. The API rejects shipments and rates requests that have neither
  5. Stay under 60 requests a minute and 10 a second, and wait for the next window on 429

TrackingMore

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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

Questions

Which is better for AI agents, Easyship or TrackingMore?

Easyship scores 70.6 (BB) on agent readiness against TrackingMore's 41.8 (E), and leads in every scored category.

Do Easyship and TrackingMore need an API key?

Easyship takes an API key or an OAuth sign-in. TrackingMore needs an API key.

Can an agent call Easyship and TrackingMore without installing anything?

Yes. Easyship has a hosted endpoint at https://public-api.easyship.com and TrackingMore at https://api.trackingmore.com/v4.

Other comparisons with Easyship or TrackingMore

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.