{
  "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",
      "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": 55,
        "grade": "C",
        "agentReady": false,
        "rank": 604,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 80,
          "payments": 30,
          "reliability": 45,
          "schema": 81,
          "security": 37,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "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 12 tools, each carrying read-only, destructive and idempotent annotations and an output schema",
          "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 works on the MCP server, which lists tools without a key but answers 401 on calls",
          "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": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 80,
          "payments": 30,
          "reliability": 45,
          "schema": 81,
          "security": 37,
          "transparency": 38
        },
        "provenanceScore": 65
      },
      "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-10-08",
        "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": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ship24.json",
      "live": {
        "slug": "ship24",
        "probe": {
          "target": "https://api.ship24.com/public/v1",
          "method": "get",
          "lastAt": "2026-10-09T10:42:56.242507582Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 269,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 251,
          "p95ms24h": 320,
          "samples24h": 164,
          "samples30d": 164,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.ship24/tracking-mcp",
            "version": "1.0.1",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          }
        ],
        "updatedAt": "2026-10-09T10:42:56.242507582Z"
      }
    },
    "answer": "Ship24 scores 55 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 4 of 7 scored categories. ShippyPro leads on reliability, security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "shippypro",
      "name": "ShippyPro",
      "vendor": "Italian Valley S.r.l.",
      "vendorUrl": "https://www.shippypro.com",
      "kind": "http-api",
      "category": "shipping",
      "summary": "Multi-carrier shipping platform from ShippyPro (Italian Valley S.r.l., Florence). Its REST API quotes rates on a customer's own carrier contracts, creates labels and returns, validates addresses, books pickups and tracks parcels. API access is sold with the Enterprise plan.",
      "url": "https://www.anchorterminal.com/tools/shippypro",
      "markdownUrl": "https://www.anchorterminal.com/tools/shippypro.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/shippypro.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/shippypro.json",
      "license": "Proprietary service under ShippyPro's Terms \u0026 Conditions. Both OpenAPI files state the licence as Proprietary",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.shippypro.com",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Sales approval, then a key. The help centre says APIs can only be activated with an Enterprise plan and tells users to contact sales. Keys are created in the account panel under API, more than one per account, as Full Access, Maps (pickup-point map only) or PII Excluded (personal data hidden). Calls send `Authorization: Bearer \u003cAPI key\u003e`, per both OpenAPI files. The help centre article still describes the key as a Basic auth username with a blank password. No expiry or rotation was found in the reviewed documentation.",
      "pricing": "paid",
      "pricingNotes": "Enterprise plan, custom price through sales, billed annually. It is the only plan the pricing page lists with full access to the Multicarrier APIs. The self-serve plans (49 to 259 EUR a month at regular monthly prices, up to 4,000 shipments) are marked UI only. A 14-day, 30-order trial needs no card per the terms, and whether a trial account can call the API was not established. No sandbox. The Generic carrier creates test labels and rates. A higher rate limit costs extra (https://www.shippypro.com/en/pricing).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI files, the API page or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://api.shippypro.com/docs",
      "openapi": "https://api.shippypro.com/docs/v1.json",
      "capabilities": [
        "shipping.rates",
        "shipping.labels",
        "shipping.tracking",
        "shipping.address-validation",
        "shipping.returns"
      ],
      "tags": [
        "hosted",
        "paid",
        "sales-led",
        "enterprise",
        "api-key",
        "openapi",
        "webhooks",
        "soap",
        "status-page",
        "sla",
        "europe"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.7,
        "grade": "D",
        "agentReady": false,
        "rank": 718,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 46,
          "maintenance": 25,
          "payments": 5,
          "reliability": 70,
          "schema": 64,
          "security": 51,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Two OpenAPI 3.1 files, a published limit of 20 calls per 10 seconds and a 99.5 per cent monthly SLA with service credits are public. API access needs an Enterprise plan arranged through sales, no changelog or SDK was found, and label creation on v1 has no idempotency key.",
        "bestFor": "A European shipper or logistics platform with its own carrier contracts that already holds a ShippyPro Enterprise plan and wants rates, labels, pickups and tracking across many regional carriers through one API.",
        "strengths": [
          "OpenAPI 3.1 files for v1 (55 operations) and v2 (17 operations) are public at api.shippypro.com/docs, with 812 examples in the v1 file",
          "Published SLA of 99.5 per cent monthly availability with service credits of 0.5 to 5 per cent",
          "API keys come in three types, Full Access, Maps and PII Excluded, and an account can hold several",
          "The account panel keeps API request and response logs, an API error history and webhook logs",
          "The Generic carrier creates test labels and rates without a real carrier or tracking number",
          "The privacy policy lists sub-processors per product area and says customer data is never sold"
        ],
        "weaknesses": [
          "The help centre says APIs can only be activated with an Enterprise plan, which has no public price and starts with sales",
          "No API changelog, release notes or deprecation policy was found, and the terms allow changes without notice",
          "`POST /v1/Ship` takes no idempotency key. Only the 17 v2 operations accept `Idempotency-Key`",
          "Carrier label incidents marked critical appear on the status page on most days from August to October 2026",
          "No official SDK, MCP server or llms.txt was found on the pages read",
          "v1 answers some failures with HTTP 200 and `Status` 2, and `LabelURL` can be a string or an array"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003cAPI key\u003e` and POST a JSON body with `Method` and `Params` to `https://api.shippypro.com/v1/\u003cMethod\u003e`. Parameter names are case-sensitive",
          "Check `Status` and `ErrorMessage` in every `Ship` response. HTTP 200 with `Status` 2 means no label was created",
          "Before retrying a failed `Ship` call, look the order up by `TransactionID`. v1 has no idempotency key, and each label counts against the plan",
          "Test with the Generic carrier. `Ship` and `Edit` calls on a real carrier create real labels",
          "Stay under 20 calls per 10 seconds, and use webhooks for tracking. The docs advise against `GetTracking` in bulk"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.7
          }
        ],
        "editorialScores": {
          "ergonomics": 46,
          "maintenance": 25,
          "payments": 5,
          "reliability": 70,
          "schema": 64,
          "security": 51,
          "transparency": 48
        },
        "provenanceScore": 68
      },
      "connect": {
        "http": "curl -X POST https://api.shippypro.com/v1/Ping \\\n  -H \"Authorization: Bearer \u003cAPI_KEY\u003e\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"Method\": \"Ping\", \"Params\": {}}'"
      },
      "letme": {
        "capability": "https://letme.dev/shipping.rates",
        "tool": "https://letme.dev/shippypro"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Italian Valley S.r.l.",
        "domain": "shippypro.com",
        "domainRegistered": "2016-10-24",
        "endpointOnVendorDomain": true,
        "terms": "https://www.shippypro.com/en/legal/terms",
        "privacy": "https://www.shippypro.com/en/legal/privacy",
        "statusPage": "https://status.shippypro.com",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-09",
        "notes": [
          "The Terms \u0026 Conditions name Italian Valley Srl, registered number 06587610483, Piazza Francesca Morvillo 15, 50144 Firenze, Italy, as owner of the ShippyPro software. They cover every ShippyPro product and service, the API included, and carry no date or version.",
          "The privacy policy names ShippyPro by Italian Valley S.r.l. as data controller and covers shipment sender and recipient data handled by the product, not only the website.",
          "RDAP for shippypro.com gives a registration date of 2016-10-24.",
          "The API answers at api.shippypro.com and the reference is served from the same host.",
          "www.shippypro.com/robots.txt disallows every path outside the language folders, the blog and a short list, so /.well-known/security.txt and /llms.txt were not requested.",
          "No API changelog or release notes page was found on the API page, the reference or the help centre's API section.",
          "The SLA at https://www.shippypro.com/en/legal/sla is stated to be part of the agreement with the customer."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/shippypro.json",
      "live": {
        "slug": "shippypro",
        "probe": {
          "target": "https://api.shippypro.com",
          "method": "get",
          "lastAt": "2026-10-09T10:42:56.354166696Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 47,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 55,
          "p95ms24h": 152,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.shippypro.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-09T10:42:03.244307999Z"
        },
        "updatedAt": "2026-10-09T10:42:56.354166696Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Ship24 Limited",
        "b": "Italian Valley S.r.l.",
        "name": "Vendor"
      },
      {
        "a": "https://api.ship24.com/public/v1",
        "b": "https://api.shippypro.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "$0.045 per transaction",
        "b": "not published",
        "name": "Price for shipping 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 service under ShippyPro's Terms \u0026 Conditions. Both OpenAPI files state the licence as Proprietary",
        "name": "Licence"
      },
      {
        "a": "12",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "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": "none",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-01",
        "b": "no date given",
        "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": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "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": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Ship24 scores 55 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 4 of 7 scored categories. ShippyPro leads on reliability, security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Ship24 or ShippyPro?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Ship24 and ShippyPro need an API key?"
      },
      {
        "answer": "Yes. Ship24 has a hosted endpoint at https://api.ship24.com/public/v1 and ShippyPro at https://api.shippypro.com.",
        "question": "Can an agent call Ship24 and ShippyPro without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 64",
          "Agent ergonomics, 68 against 46",
          "Payments \u0026 pricing, 30 against 5",
          "Maintenance \u0026 community, 80 against 25"
        ],
        "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, 70 against 45",
          "Security \u0026 auth, 51 against 37",
          "Transparency \u0026 trust, 58 against 52"
        ],
        "also": null,
        "goodFor": "A European shipper or logistics platform with its own carrier contracts that already holds a ShippyPro Enterprise plan and wants rates, labels, pickups and tracking across many regional carriers through one API.",
        "slug": "shippypro",
        "watchFor": "The help centre says APIs can only be activated with an Enterprise plan, which has no public price and starts with sales"
      }
    ],
    "job": {
      "capability": "shipping.tracking",
      "name": "Shipping tracking"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/easypost-vs-shippypro.json",
        "title": "EasyPost vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/easypost-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/easyship-vs-shippypro.json",
        "title": "Easyship vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/karrio-vs-shippypro.json",
        "title": "Karrio vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/karrio-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendcloud-vs-shippypro.json",
        "title": "Sendcloud vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shipbob-vs-shippypro.json",
        "title": "ShipBob vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/shipbob-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shippo-vs-shippypro.json",
        "title": "Shippo vs ShippyPro",
        "url": "https://www.anchorterminal.com/compare/shippo-vs-shippypro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shippypro-vs-shipstation.json",
        "title": "ShippyPro vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/shippypro-vs-shipstation"
      },
      {
        "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/easyship-vs-ship24.json",
        "title": "Easyship vs Ship24",
        "url": "https://www.anchorterminal.com/compare/easyship-vs-ship24"
      },
      {
        "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/sendcloud-vs-ship24.json",
        "title": "Sendcloud vs Ship24",
        "url": "https://www.anchorterminal.com/compare/sendcloud-vs-ship24"
      },
      {
        "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-shipstation.json",
        "title": "Ship24 vs ShipStation API",
        "url": "https://www.anchorterminal.com/compare/ship24-vs-shipstation"
      }
    ],
    "scores": [
      {
        "by": 25,
        "edge": "shippypro",
        "key": "reliability",
        "name": "Reliability",
        "ship24": 45,
        "shippypro": 70,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "edge": "ship24",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "ship24": 81,
        "shippypro": 64,
        "weight": 13
      },
      {
        "by": 22,
        "edge": "ship24",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "ship24": 68,
        "shippypro": 46,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "shippypro",
        "key": "security",
        "name": "Security \u0026 auth",
        "ship24": 37,
        "shippypro": 51,
        "weight": 14
      },
      {
        "by": 25,
        "edge": "ship24",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "ship24": 30,
        "shippypro": 5,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 55,
        "edge": "ship24",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "ship24": 80,
        "shippypro": 25,
        "weight": 7
      },
      {
        "by": 6,
        "edge": "shippypro",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "ship24": 52,
        "shippypro": 58,
        "weight": 7
      }
    ],
    "summary": "Ship24 scores 55 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 4 of 7 scored categories. ShippyPro leads on reliability, security \u0026 auth and transparency \u0026 trust. Both do shipping tracking.",
    "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.",
      "shippypro": "Two OpenAPI 3.1 files, a published limit of 20 calls per 10 seconds and a 99.5 per cent monthly SLA with service credits are public. API access needs an Enterprise plan arranged through sales, no changelog or SDK was found, and label creation on v1 has no idempotency key."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/ship24-vs-shippypro",
    "json": "https://www.anchorterminal.com/compare/ship24-vs-shippypro.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/ship24-vs-shippypro.md",
    "slim": "https://www.anchorterminal.com/compare/ship24-vs-shippypro.min.md"
  },
  "markdown": "Ship24 scores 55 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 4 of 7 scored categories. ShippyPro leads on reliability, security \u0026 auth and transparency \u0026 trust. Both do shipping tracking.\n\n- Ship24: grade C, 55/100, rank #604 of 842. Markdown https://www.anchorterminal.com/tools/ship24.md · JSON https://www.anchorterminal.com/api/v1/tools/ship24.json\n- ShippyPro: grade D, 48.7/100, rank #718 of 842. Markdown https://www.anchorterminal.com/tools/shippypro.md · JSON https://www.anchorterminal.com/api/v1/tools/shippypro.json\n\n## Which one, for what\n\n### Ship24 (C)\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 64\n- Agent ergonomics, 68 against 46\n- Payments \u0026 pricing, 30 against 5\n- Maintenance \u0026 community, 80 against 25\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### ShippyPro (D)\n\nGood for: A European shipper or logistics platform with its own carrier contracts that already holds a ShippyPro Enterprise plan and wants rates, labels, pickups and tracking across many regional carriers through one API.\n\nAhead on:\n- Reliability, 70 against 45\n- Security \u0026 auth, 51 against 37\n- Transparency \u0026 trust, 58 against 52\n\nWatch for: The help centre says APIs can only be activated with an Enterprise plan, which has no public price and starts with sales\n\n\n## Score by category\n\n| Category | Weight | Ship24 | ShippyPro | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 70 | ShippyPro +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 64 | Ship24 +17 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 46 | Ship24 +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 37 | 51 | ShippyPro +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 5 | Ship24 +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 25 | Ship24 +55 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 58 | ShippyPro +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **55 · C** | **48.7 · D** | |\n\n## Facts side by side\n\n| Fact | Ship24 | ShippyPro |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Ship24 Limited | Italian Valley S.r.l. |\n| Hosted endpoint | `https://api.ship24.com/public/v1` | `https://api.shippypro.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Paid |\n| Price for shipping tracking | $0.045 per transaction | not published |\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 service under ShippyPro's Terms \u0026 Conditions. Both OpenAPI files state the licence as Proprietary |\n| Tools exposed | 12 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| MCP registry | `com.ship24/tracking-mcp` | not listed |\n| Last release | 2026-10-06 | none |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | 2026-08-01 | no date given |\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 | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\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 | none |\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**ShippyPro.** Two OpenAPI 3.1 files, a published limit of 20 calls per 10 seconds and a 99.5 per cent monthly SLA with service credits are public. API access needs an Enterprise plan arranged through sales, no changelog or SDK was found, and label creation on v1 has no idempotency key.\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 works on the MCP server, which lists tools without a key but answers 401 on calls\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### ShippyPro\n\n1. Send `Authorization: Bearer \u003cAPI key\u003e` and POST a JSON body with `Method` and `Params` to `https://api.shippypro.com/v1/\u003cMethod\u003e`. Parameter names are case-sensitive\n2. Check `Status` and `ErrorMessage` in every `Ship` response. HTTP 200 with `Status` 2 means no label was created\n3. Before retrying a failed `Ship` call, look the order up by `TransactionID`. v1 has no idempotency key, and each label counts against the plan\n4. Test with the Generic carrier. `Ship` and `Edit` calls on a real carrier create real labels\n5. Stay under 20 calls per 10 seconds, and use webhooks for tracking. The docs advise against `GetTracking` in bulk\n\n## Questions\n\n### Which is better for AI agents, Ship24 or ShippyPro?\n\nShip24 scores 55 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 4 of 7 scored categories. ShippyPro leads on reliability, security \u0026 auth and transparency \u0026 trust.\n\n### Do Ship24 and ShippyPro need an API key?\n\nBoth need an API key.\n\n### Can an agent call Ship24 and ShippyPro without installing anything?\n\nYes. Ship24 has a hosted endpoint at https://api.ship24.com/public/v1 and ShippyPro at https://api.shippypro.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/ship24-vs-shippypro.json, and with the fewest tokens: https://www.anchorterminal.com/compare/ship24-vs-shippypro.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"ship24\", \"b\": \"shippypro\"}`. From a terminal: `anchor compare ship24 shippypro`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/ship24.json and https://www.anchorterminal.com/api/v1/tools/shippypro.json\n\n## Other comparisons with Ship24 or ShippyPro\n\n- [EasyPost vs ShippyPro](https://www.anchorterminal.com/compare/easypost-vs-shippypro.md)\n- [Easyship vs ShippyPro](https://www.anchorterminal.com/compare/easyship-vs-shippypro.md)\n- [Karrio vs ShippyPro](https://www.anchorterminal.com/compare/karrio-vs-shippypro.md)\n- [Sendcloud vs ShippyPro](https://www.anchorterminal.com/compare/sendcloud-vs-shippypro.md)\n- [ShipBob vs ShippyPro](https://www.anchorterminal.com/compare/shipbob-vs-shippypro.md)\n- [Shippo vs ShippyPro](https://www.anchorterminal.com/compare/shippo-vs-shippypro.md)\n- [ShippyPro vs ShipStation API](https://www.anchorterminal.com/compare/shippypro-vs-shipstation.md)\n- [EasyPost vs Ship24](https://www.anchorterminal.com/compare/easypost-vs-ship24.md)\n- [Easyship vs Ship24](https://www.anchorterminal.com/compare/easyship-vs-ship24.md)\n- [Karrio vs Ship24](https://www.anchorterminal.com/compare/karrio-vs-ship24.md)\n- [Sendcloud vs Ship24](https://www.anchorterminal.com/compare/sendcloud-vs-ship24.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 ShipStation API](https://www.anchorterminal.com/compare/ship24-vs-shipstation.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Ship24 vs ShippyPro",
        "url": ""
      }
    ],
    "description": "Ship24 scores 55 (C) on agent readiness against ShippyPro's 48.7 (D), and leads in 4 of 7 scored categories. ShippyPro leads on reliability, security \u0026 auth and transparency \u0026 trust. Both do shipping tracking. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Ship24 C 55",
      "ShippyPro D 48.7",
      "scores"
    ],
    "h1": "Ship24 vs ShippyPro",
    "image": "https://www.anchorterminal.com/assets/og/compare-ship24-vs-shippypro.png",
    "path": "/compare/ship24-vs-shippypro",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Ship24 vs ShippyPro for AI agents, C 55 vs D 48.7 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/ship24-vs-shippypro"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 730
  },
  "version": 1
}
