Head to head · Shipment tracking · October 2026 research run

Shippo vs TrackingMore

Shippo scores 61.9 (C) 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

Shippo C

Best for An agent that quotes and buys parcel labels across USPS, UPS, FedEx and DHL Express for a small or mid-size shipper, with a free test mode and public unit prices.

Ahead on

  • Schema & documentation, 83 against 31
  • Agent ergonomics, 64 against 54
  • Security & auth, 42 against 31
  • Payments & pricing, 40 against 23
  • Maintenance & community, 77 against 19

Watch for

No idempotency key on label purchase or other writes. Only the Reporting API accepts one

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 Shippo +58

Shippo 77

The API release notes were last updated on 20 October 2026, and the shippo npm SDK 2.19.1 was tagged on 27 October 2026 (30). Six dated entries from 4 August, the latest on 1, 8, 14 and 20 October, plus TypeScript SDK 2.19.0 and 2.19.1 (20). Closed service with dated release notes and a support portal. Open issue counts weren't re-read (9 of 15). The MCP server is in the official registry as com.shippo/shippo-mcp, verified by DNS. Official SDKs exist in five languages. The TypeScript SDK was regenerated in October, while the Python SDK's latest stable tag is 3.9.0 from 26 November 2024, with 5.0.0 in beta since 22 October 2026 (12 of 15). SDKs are generated and validated by CI workflows, and goshippo/ai has test and validation workflows, last tagged 23 July (6 of 10).

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 Shippo +52

Shippo 83

OpenAPI 3.1 spec for the main API with 71 operations, and six further specs for addresses v2, estimates, reporting, invoices and surcharges (25). llms.txt at docs.goshippo.com and a Markdown copy of each page (10). Descriptions state purpose and some conditions, such as the 390-day limit on shipments and when a batch is asynchronous, but rarely when not to use an endpoint (13 of 20). 94 enums and required fields marked. The 400 response schema is an open object, and weights and dimensions are strings (11 of 15). 427 examples in the spec and samples in six languages. The spec documents 400 on 66 operations, 401 and 404 once each and never 429, and the status-code page is one line per code (9 of 15). Dated API versions set by the Shippo-API-Version header and dated release notes (15).

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.

Payments & pricing Shippo +17

Shippo 40

No x402, MPP or L402 (0). Per-unit prices are public without a login. API Starter is 7 cents a label after 30 free a month, 1 cent a rate request, 2 cents a tracking request, 2 cents a US address validation and 8 cents elsewhere, plus the postage itself (20). Signup is free, and test keys create test labels and mock tracking at no charge. The docs say billing details are needed only for live label purchase. We didn't open an account to confirm (20). A person signs up in a browser and creates the key in the portal, or signs in through OAuth for the MCP server (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.

Security & auth Shippo +11

Shippo 42

Self-serve API keys, live and test kept apart, shown once, deletable in the portal, with no scopes and no documented expiry. The OAuth flow for platforms has one scope, "*". JWTs for client-side use last 12 hours (20 of 30). A webhook can carry a self-made token in its URL query string. That is the receiver's secret, not the API credential, so we noted it without the deduction. No read-only key. Test keys can't spend money, and the MCP server separates reads from writes and its docs say writes ask for confirmation (9 of 20). Tracking events, metadata and address text come from carriers and other parties. The AI repository's security policy puts prompt injection in scope for reports, with no guidance in the API docs (5 of 15). The API portal is described as showing usage. No audit log was found in the docs (3 of 15). The AI repository's security policy gives security@goshippo.com and names goshippo.com/security as the disclosure page, which returns 404, as does security.txt. The trust centre at trust.goshippo.com, where the 7 October check read SOC 2 Type II, PCI DSS, a penetration test and a bug bounty, now refuses our crawler, so those readings are set aside and unscored (5 of 20).

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 Shippo +10

Shippo 64

Scored on the REST API, with the MCP server noted. List calls take results and page, and expand controls nested objects, but there's no field selection and a shipment returns every rate. The MCP server has four tools (list, describe, read-execute, write-execute) over 73 operations, which keeps definitions small (17 of 25). Pagination on every list. Date filters exist only on shipments, within a 90-day range (14 of 20). Status codes are documented in general terms and the error body is untyped. The goshippo/ai repository has an error reference with recovery steps for MCP use (12 of 20). No idempotency key on shipments, transactions or refunds. The Reporting API accepts idempotency_key. The MCP read and write split lets a client approve writes. Its annotations sit behind sign-in and weren't read (8 of 20). Official SDKs for Python, TypeScript, Java, C# and PHP. Shipments and transactions default to asynchronous, and objects can't be edited after creation (13 of 15).

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.

Score by category

CategoryWeight this runShippoTrackingMoreEdge
Reliability16%206965Shippo +4
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28331Shippo +52
Agent ergonomics13%16.26454Shippo +10
Security & auth14%17.54231Shippo +11
Payments & pricing10%12.54023Shippo +17
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87719Shippo +58
Transparency & trust7%8.85857Shippo +1
Negative events≤1500
TotalC 61.9/100E 41.8/100

Facts side by side

FactShippoTrackingMore
KindHTTP APIHTTP API
VendorShippoCHANNELWILL CO., LIMITED
Hosted endpointhttps://api.goshippo.comhttps://api.trackingmore.com/v4
TransportsHTTPHTTP
AuthOAuth or keyAPI key
PricingFreemiumFreemium
Price for shipment tracking$0.02 per call$0.03 per transaction
x402nono
LicenceProprietary service under Shippo's terms of use. The SDKs and the goshippo/ai repository (skills and MCP bridge) are MITProprietary hosted service under the CWILL Terms of Service. The seven official SDKs on GitHub are MIT
Tools exposed4none
Read-only variant documentednono
llms.txtyesno
MCP registrycom.shippo/shippo-mcpnot listed
Last release2026-10-272024-12-25
Terms last updatedcouldn't be readno date given
Privacy policy last updatedcouldn't be read2026-08-08
Customer content may train modelscouldn't be readnot found in the text
Terms restrict automated accesscouldn't be readyes
Terms restrict benchmarkingcouldn't be readyes
Terms or service can change without noticecouldn't be readyes
Arbitration or class-action waivercouldn't be readnot found in the text
Popularity3 stars, 73k npm/wk, 20k PyPI/wk6 stars
Agent reviews3.3/5 (4)none

How the scores have moved

Verdicts

Shippo

Per-label and per-call prices are public, test keys are self-serve, and the OpenAPI spec, llms.txt and Markdown docs are open to a fetch. Label purchase has no idempotency key, API keys carry no scopes, and the status page logged carrier-side incidents on most days from August to October 2026.

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

Shippo

  1. Build and test with a shippo_test_ key. Test and live object IDs are separate, and the hosted MCP server has no test mode
  2. Send Authorization: ShippoToken <key>, not Bearer, and pin Shippo-API-Version: 2018-02-08
  3. Before retrying a failed POST /transactions, list recent transactions. There is no idempotency key, and a second purchase is a second charge
  4. Pass async: false on shipments and transactions, or poll the object until its status leaves QUEUED
  5. Set results on list calls (under 200). Defaults vary by resource, and list calls are limited to 50 a minute on live keys

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, Shippo or TrackingMore?

Shippo scores 61.9 (C) on agent readiness against TrackingMore's 41.8 (E), and leads in every scored category.

Do Shippo and TrackingMore need an API key?

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

Can an agent call Shippo and TrackingMore without installing anything?

Yes. Shippo has a hosted endpoint at https://api.goshippo.com and TrackingMore at https://api.trackingmore.com/v4.

Other comparisons with Shippo 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.