# Envia vs Ship24

> Ship24 scores 52.4 (D) to Envia's 36.5 (F) for shipment tracking. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/envia-vs-ship24
- Markdown: https://www.anchorterminal.com/compare/envia-vs-ship24.md (~4,200 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-07

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.

- Envia: grade F, 36.5/100, rank #1384 of 1510. Markdown https://www.anchorterminal.com/tools/envia.md · JSON https://www.anchorterminal.com/api/v1/tools/envia.json
- Ship24: grade D, 52.4/100, rank #993 of 1510. Markdown https://www.anchorterminal.com/tools/ship24.md · JSON https://www.anchorterminal.com/api/v1/tools/ship24.json
- Best shipping and fulfilment APIs for AI agents: https://www.anchorterminal.com/best/shipping/index.md
- All 66 shipping comparisons: https://www.anchorterminal.com/compare/shipping/index.md

## Which one, for what

### Envia (F)

Good 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)

Good 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

### 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 | Envia | Ship24 | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 20 | 42 | Ship24 +22 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 80 | 81 | Ship24 +1 |
| Agent ergonomics | 13% (16.2 this run) | 53 | 68 | Ship24 +15 |
| Security & auth | 14% (17.5 this run) | 35 | 34 | Envia +1 |
| Payments & pricing | 10% (12.5 this run) | 20 | 30 | Ship24 +10 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 10 | 60 | Ship24 +50 |
| Transparency & trust | 7% (8.8 this run) | 16 | 55 | Ship24 +39 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **36.5 · F** | **52.4 · D** | |

## 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.

### Ship24

- -2.6 on 4 November 2026 (C to D): new evidence, correction

## 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

1. Leave `ENVIA_ENVIRONMENT` unset until the user confirms live shipping; the default is sandbox
2. Ask the user before `envia_create_label` in production, since it spends the account balance
3. Validate the postal code at geocodes.envia.com before quoting to avoid no-coverage errors
4. Cancel an unwanted label before the carrier scans it to get the automatic refund
5. Use a sandbox token with sandbox hosts and a production token with production hosts; they are not interchangeable

### Ship24

1. 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`
2. 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
3. Allow up to 60 seconds for the first `POST /trackers/track` or `POST /tracking/search` call, since results are fetched from the courier synchronously
4. 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
5. 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

## 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.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/envia-vs-ship24.json, and with the fewest tokens: https://www.anchorterminal.com/compare/envia-vs-ship24.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "envia", "b": "ship24"}`. From a terminal: `anchor compare envia ship24`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/envia.json and https://www.anchorterminal.com/api/v1/tools/ship24.json

## Other comparisons with Envia or Ship24

- [atoship vs Envia](https://www.anchorterminal.com/compare/atoship-vs-envia.md)
- [EasyPost vs Envia](https://www.anchorterminal.com/compare/easypost-vs-envia.md)
- [Easyship vs Envia](https://www.anchorterminal.com/compare/easyship-vs-envia.md)
- [Envia vs Karrio](https://www.anchorterminal.com/compare/envia-vs-karrio.md)
- [Envia vs Sendcloud](https://www.anchorterminal.com/compare/envia-vs-sendcloud.md)
- [Envia vs ShipBob](https://www.anchorterminal.com/compare/envia-vs-shipbob.md)
- [Envia vs Shippo](https://www.anchorterminal.com/compare/envia-vs-shippo.md)
- [Envia vs ShippyPro](https://www.anchorterminal.com/compare/envia-vs-shippypro.md)
- [Envia vs ShipStation API](https://www.anchorterminal.com/compare/envia-vs-shipstation.md)
- [atoship vs Ship24](https://www.anchorterminal.com/compare/atoship-vs-ship24.md)
- [EasyPost vs Ship24](https://www.anchorterminal.com/compare/easypost-vs-ship24.md)
- [Easyship vs Ship24](https://www.anchorterminal.com/compare/easyship-vs-ship24.md)
- [Envia vs TrackingMore](https://www.anchorterminal.com/compare/envia-vs-trackingmore.md)
- [Karrio vs Ship24](https://www.anchorterminal.com/compare/karrio-vs-ship24.md)
- [Sendcloud vs Ship24](https://www.anchorterminal.com/compare/sendcloud-vs-ship24.md)
- [Ship24 vs ShipBob](https://www.anchorterminal.com/compare/ship24-vs-shipbob.md)
- [Ship24 vs Shippo](https://www.anchorterminal.com/compare/ship24-vs-shippo.md)
- [Ship24 vs ShippyPro](https://www.anchorterminal.com/compare/ship24-vs-shippypro.md)
- [Ship24 vs ShipStation API](https://www.anchorterminal.com/compare/ship24-vs-shipstation.md)
- [Ship24 vs TrackingMore](https://www.anchorterminal.com/compare/ship24-vs-trackingmore.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
