Head to head · Shipment tracking · October 2026 research run
Envia vs Ship24
Ship24 scores 52.4 (D) on agent readiness against Envia's 36.5 (F), and leads in 6 of 7 scored categories. Both do shipment tracking.
Best shipping and fulfilment APIs for AI agents · All 66 shipping comparisons
Which one, for what
Envia F
Best for Shops and platforms shipping in Mexico and Latin America that want rates and labels from many local carriers.
Also in its favour
- Runs on your own machine
Watch for
No status page or rate limits found
Ship24 D
Best for An agent that only needs tracking events across many couriers, by webhook or by lookup, from a tracking number alone.
Ahead on
- Reliability, 42 against 20
- Agent ergonomics, 68 against 53
- Payments & pricing, 30 against 20
- Maintenance & community, 60 against 10
- Transparency & trust, 55 against 16
Also in its favour
- A hosted endpoint, with nothing to install
Watch for
No status page was found. status.ship24.com doesn't resolve, and neither the site nor the docs link to one
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 Ship24 +50
Envia 10
The latest dated change found is the docs changelog for March 2026 and @envia/envia-mcp 0.1.0 on 4 March 2026, more than 180 days ago; doc pages show later updatedAt stamps (28 October for the FAQ) that record no change (0). No dated entries in the 90 days from 8 August (0). Support through the dashboard and docs, with no public tracker; the MCP repository named on npm could not be cloned (5 of 15). The MCP package is official, with no API SDK and no registry entry (5 of 15). No public CI to read (0). 0 + 0 + 5 + 5 + 0 = 10.
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.
Transparency & trust Ship24 +39
Envia 16
Every terms URL tried answered 500 and the privacy policy is drawn by script, so no terms, entity or data-handling statement was read (0 of 30, 0 of 30). No deprecation policy or dated notices (0). No subprocessors or data locations found (0). 0 + 0 + 0 + 0 = 0, as unread rather than absent where the pages exist.
Ship24 55
The service is closed, under Terms and Conditions that name Ship24 Limited of Hong Kong and carry no date or version. They say an Application developer and API agreement applies to API use, and we found no such document on the site. The SDK and plugin are MIT (12 of 30). The privacy policy, last updated August 2026 (re-read 4 November), covers accounts, payments and the MCP integration and gives retention only in general terms. The pricing page lists six months of data retention on the Pro plan, the terms allow deletion of an account's data without notice, and the data processing agreement the terms refer to wasn't found (12 of 30). The data format page promises that existing fields are never removed or changed and lists deprecated fields with the month, most recently signedBy in August 2026. Dated notices with no stated period give 15 on this run's settled reading (15 of 20; 10 on 8 October). Stripe, Google and Meta are named in the privacy policy, with no subprocessor list and no hosting locations (4 of 20). 12 + 12 + 15 + 4 = 43.
Reliability Ship24 +22
Envia 20
Graded as a hosted service on Envia's REST APIs, with the local MCP server noted. No status page is linked and status.envia.com did not connect (0). No readable incident history (5). No rate limits found in the docs index, FAQs, integration guide or production checklist (0). The production checklist asks for 5xx retry logic and webhook deduplication, with no 429 or idempotency guidance for label creation (5 of 15). No SLA found (0). Neither the APIs nor the MCP server is labelled beta (10). 0 + 5 + 0 + 5 + 0 + 10 = 20.
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.
Agent ergonomics Ship24 +15
Envia 53
Ten compact MCP tools (25). Rates take one carrier per request, and the Queries API filters carriers by country and shipment type; no paging or field selection was found (10 of 20). The FAQ maps common errors to fixes, but the changelog says the three APIs return different error formats that need a normalisation helper (10 of 20). No idempotency key for labels; an unscanned label can be cancelled for an automatic refund, and the MCP tools carry no annotations (3 of 20). The MCP server defaults to sandbox, with no official API SDK (5 of 15). 25 + 10 + 10 + 3 + 5 = 53.
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.
Payments & pricing Ship24 +10
Envia 20
No x402, MPP or L402 (0). No public price list: each cost is shown when quoting, and volume plans go through sales (0). A free sandbox account creates test labels with no charges (20). A person signs up in a browser and tops up a balance for live labels (0). 0 + 0 + 20 + 0 = 20.
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).
Score by category
| Category | Weight this run | Envia | Ship24 | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 20 | 42 | Ship24 +22 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 80 | 81 | Ship24 +1 |
| Agent ergonomics | 13%16.2 | 53 | 68 | Ship24 +15 |
| Security & auth | 14%17.5 | 35 | 34 | Envia +1 |
| Payments & pricing | 10%12.5 | 20 | 30 | Ship24 +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 10 | 60 | Ship24 +50 |
| Transparency & trust | 7%8.8 | 16 | 55 | Ship24 +39 |
| Negative events | ≤15 | 0 | 0 | |
| Total | F 36.5/100 | D 52.4/100 |
Facts side by side
| Fact | Envia | Ship24 |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Envia Shipping | Ship24 Limited |
| Hosted endpoint | no (local only) | https://api.ship24.com/public/v1 |
| Transports | stdio | HTTP |
| Auth | API key | API key |
| Pricing | Pay per use | Freemium |
| Price for shipment tracking | not published | $0.045 per transaction |
| x402 | no | no |
| Licence | none | Proprietary service under Ship24's Terms and Conditions. The Node SDK and the AI plugin on GitHub are MIT |
| Tools exposed | 10 | 12 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | not listed | com.ship24/tracking-mcp |
| Last release | 2026-03-06 | 2026-10-06 |
| Terms last updated | no document linked | no date given |
| Privacy policy last updated | no date given | 2026-08-01 |
| Customer content may train models | not read yet | not found in the text |
| Terms restrict automated access | not read yet | not found in the text |
| Terms restrict benchmarking | not read yet | yes |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | not found in the text |
| Popularity | none | 0 stars, 79 npm/wk |
How the scores have moved
Envia
No score change since it was listed.
Verdicts
Envia
Envia's shipping APIs are documented for agents, with llms.txt, OpenAPI definitions on every reference page, a free sandbox and a compact ten-tool MCP server that defaults to test mode. No status page, rate limits, public price list or readable terms were found, and the MCP package has had one release.
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.
Before you call either
Envia
- Leave
ENVIA_ENVIRONMENTunset until the user confirms live shipping; the default is sandbox - Ask the user before
envia_create_labelin production, since it spends the account balance - Validate the postal code at geocodes.envia.com before quoting to avoid no-coverage errors
- Cancel an unwanted label before the carrier scans it to get the automatic refund
- Use a sandbox token with sandbox hosts and a production token with production hosts; they are not interchangeable
Ship24
- Send
Authorization: Bearer apik_...tohttps://api.ship24.com/public/v1. The same key goes in theAuthorizationheader of the MCP server athttps://api.ship24.com/mcp - Store the
trackerIdor set a uniqueclientTrackerId. Tracking numbers aren't unique, and any changed field on a repeatPOST /trackerscreates a second tracker that uses quota - Allow up to 60 seconds for the first
POST /trackers/trackorPOST /tracking/searchcall, 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 makescourierCodeunnecessary - Check for
quota_limit_reachedandno_active_subscription.POST /tracking/searchneeds a separate per-call plan, and the free plan blocks at 10 shipments a month
Questions
Which is better for AI agents, Envia or Ship24?
Ship24 scores 52.4 (D) on agent readiness against Envia's 36.5 (F), and leads in 6 of 7 scored categories.
Do Envia and Ship24 need an API key?
Both need an API key.
Can an agent call Envia and Ship24 without installing anything?
Envia runs on your own machine, with no hosted endpoint listed. Ship24 has a hosted endpoint at https://api.ship24.com/public/v1.
Other comparisons with Envia or Ship24
- atoship vs Envia
- EasyPost vs Envia
- Easyship vs Envia
- Envia vs Karrio
- Envia vs Sendcloud
- Envia vs ShipBob
- Envia vs Shippo
- Envia vs ShippyPro
- Envia vs ShipStation API
- atoship vs Ship24
- EasyPost vs Ship24
- Easyship vs Ship24
- Envia vs TrackingMore
- Karrio vs Ship24
- Sendcloud vs Ship24
- Ship24 vs ShipBob
- Ship24 vs Shippo
- Ship24 vs ShippyPro
- Ship24 vs ShipStation API
- Ship24 vs TrackingMore
Machine-readable
- This page as Markdown
/compare/envia-vs-ship24.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/envia.json·/api/v1/tools/ship24.json - From a terminal
anchor compare envia ship24(the CLI) - Over MCP
compare_tools {"a": "envia", "b": "ship24"}at/mcp, no key