{
  "data": {
    "similar": [
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/easyship.json",
        "name": "Easyship",
        "score": 68.8,
        "shared": [
          "shipping.rates",
          "shipping.labels",
          "shipping.tracking",
          "shipping.address-validation",
          "shipping.returns"
        ],
        "slug": "easyship"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/sendcloud.json",
        "name": "Sendcloud",
        "score": 62,
        "shared": [
          "shipping.rates",
          "shipping.labels",
          "shipping.tracking",
          "shipping.address-validation",
          "shipping.returns"
        ],
        "slug": "sendcloud"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/shippo.json",
        "name": "Shippo",
        "score": 61.9,
        "shared": [
          "shipping.rates",
          "shipping.labels",
          "shipping.tracking",
          "shipping.address-validation",
          "shipping.returns"
        ],
        "slug": "shippo"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/shipstation.json",
        "name": "ShipStation API",
        "score": 59.3,
        "shared": [
          "shipping.rates",
          "shipping.labels",
          "shipping.tracking",
          "shipping.address-validation",
          "shipping.returns"
        ],
        "slug": "shipstation"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/easypost.json",
        "name": "EasyPost",
        "score": 54.3,
        "shared": [
          "shipping.rates",
          "shipping.labels",
          "shipping.tracking",
          "shipping.address-validation",
          "shipping.returns"
        ],
        "slug": "easypost"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/shipbob.json",
        "name": "ShipBob",
        "score": 60.8,
        "shared": [
          "shipping.rates",
          "shipping.tracking",
          "shipping.returns",
          "shipping.labels"
        ],
        "slug": "shipbob"
      }
    ],
    "tool": {
      "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"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 70,
            "points": 14,
            "reason": "Read with the hosted lines and scored on the v1 REST API, where rates, labels and tracking live. Statuspage at status.shippypro.com with a component for ShippyPro API \u0026 Webhooks and one per carrier (20). From 11 July to 8 October 2026 no entry names the API. A platform login problem ran for 3 hours 6 minutes on 18 September, marked critical, SMS one-time codes went unsent from 29 August to 3 September and from 19 September to 5 October, and one carrier's label creation was marked critical on most days, some for several days (Asendia from 20 to 31 August). We read that as one major, as for other listings in this category (10 of 30). 20 requests every 10 seconds (15). v1 documents the 429 and nothing more, and `Ship` takes no idempotency key. The help centre suggests spreading calls over several IP addresses. v2 documents `Retry-After`, rate-limit headers and `Idempotency-Key`, but covers no shipping call (5 of 15). The SLA commits to 99.5 per cent a month with service credits (10). GA (10)."
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 64,
            "points": 10.4,
            "reason": "OpenAPI 3.1 files for v1 (55 operations, 119 schemas) and v2 (17 operations), loaded by the reference at api.shippypro.com/docs (25). api.shippypro.com/llms.txt returns 404, the main site's robots.txt disallows /llms.txt so it was not requested, and no Markdown docs were found (0). v1 descriptions state purpose, how to test and known traps, such as `GetTracking` not being meant for bulk use (14 of 20). Required fields are marked, but the v1 file has 14 enums in all, `LabelURL` is a string or an array, `delivery_days` a number or a string, and carrier options are free name and value pairs (9 of 15). 812 examples in the v1 file. v1 error responses are one line per status code with no body schema, and v2 documents RFC 9457 problem types (10 of 15). Versions are in the path, v1 and v2. No changelog was found (6 of 15)."
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 46,
            "points": 7.48,
            "reason": "Scored on the REST API. v1 report calls take date ranges and switches such as `IncludeItems`, with no field selection, and v2 lists take `pageSize` up to 100 (12 of 25). v1 lists have date filters and no pagination. v2 has cursor pagination and filters by carrier and country (10 of 20). v1 mixes HTTP status codes with 200 responses carrying `Status` 2, though `ErrorType` and `ErrorSuggestion` name a cause and a fix. v2 errors are application/problem+json with field pointers (12 of 20). No idempotency key on `Ship`, `Edit` or `VoidShipments`. v2 accepts `Idempotency-Key` on POST and DELETE and answers 409 on a mismatched replay (7 of 20). `Ship` has eight required parameters and needs a `CarrierID` from the panel or `GetCarriers`. No official SDK was found on the pages read, though the API page's FAQ mentions SDKs (5 of 15)."
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 51,
            "points": 8.93,
            "reason": "API keys are created in the panel, several per account, in three types (Full Access, Maps, PII Excluded), and v2 answers 401 for a revoked key. No expiry or rotation was found. The help centre still describes Basic auth with the key as username (22 of 30). The Maps and PII Excluded types narrow a key, but there is no read-only key and no confirmation step for label creation or voiding. The Generic carrier allows tests without a real shipment (8 of 20). Tracking messages and marketplace order text come from third parties, and no guidance on untrusted content was found. Requests are screened for script-like strings (3 of 15). The panel has API logs with requests and responses, an API error history and webhook logs (10 of 15). The site footer states ISO 27001 and SOC 2 Type II, with no certificate, report or trust page found. security.txt was not requested because robots.txt disallows the path. No bug bounty or disclosure policy was found (8 of 20)."
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 5,
            "points": 0.63,
            "reason": "No x402, MPP or L402 (0). The self-serve plans have public monthly prices, but the pricing page marks them UI only and lists API access under Enterprise at a custom price through sales (0). The terms describe a 14-day, 30-order trial with no card. The help centre says APIs are activated by sales on an Enterprise plan, so we could not establish that a trial account can call the API, and give part credit (5 of 20). A person signs up in a browser and sales activates the API (0)."
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 25,
            "points": 2.19,
            "reason": "No API changelog or dated release notes were found. Both OpenAPI files were last modified on 8 October 2026 per their HTTP headers, and the v2 file reads as recent work, so we give half for recency on that metadata alone (15 of 30). No dated entries in the last 90 days (0). Closed service with no changelog. Support runs through tickets, email and chat, the SLA sets response times, and the status page is updated daily (7 of 15). No official SDK or MCP registry entry was found (0). The contract is current OpenAPI 3.1 with examples (3 of 10)."
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 58,
            "points": 5.08,
            "note": "editorial 48, provenance 68",
            "reason": "Closed service. The Terms \u0026 Conditions are public and name the contracting entity, but carry no date and reserve the right to change the agreement, prices and service without notice (12 of 30). The privacy policy covers shipment sender and recipient data per product area, anonymises Amazon customer data 30 days after delivery, keeps staff impersonation logs for 19 months and says personal data is never sold. General retention is stated only as long as necessary, and no DPA was found (18 of 30). No deprecation policy. The terms allow any service to be discontinued without notice. The status page carried dated carrier notices (TNT Italy on 13 July, Deutsche Post on 17 August 2026), and the SLA promises seven days' notice of planned downtime (6 of 20). Sub-processors are named per product area, and the full list with countries is a PDF whose file name is dated 15 September 2022, which we did not read (12 of 20)."
          }
        ],
        "assessment": {
          "date": "2026-10-09",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "Scored on the REST API. v1 report calls take date ranges and switches such as `IncludeItems`, with no field selection, and v2 lists take `pageSize` up to 100 (12 of 25). v1 lists have date filters and no pagination. v2 has cursor pagination and filters by carrier and country (10 of 20). v1 mixes HTTP status codes with 200 responses carrying `Status` 2, though `ErrorType` and `ErrorSuggestion` name a cause and a fix. v2 errors are application/problem+json with field pointers (12 of 20). No idempotency key on `Ship`, `Edit` or `VoidShipments`. v2 accepts `Idempotency-Key` on POST and DELETE and answers 409 on a mismatched replay (7 of 20). `Ship` has eight required parameters and needs a `CarrierID` from the panel or `GetCarriers`. No official SDK was found on the pages read, though the API page's FAQ mentions SDKs (5 of 15).",
            "maintenance": "No API changelog or dated release notes were found. Both OpenAPI files were last modified on 8 October 2026 per their HTTP headers, and the v2 file reads as recent work, so we give half for recency on that metadata alone (15 of 30). No dated entries in the last 90 days (0). Closed service with no changelog. Support runs through tickets, email and chat, the SLA sets response times, and the status page is updated daily (7 of 15). No official SDK or MCP registry entry was found (0). The contract is current OpenAPI 3.1 with examples (3 of 10).",
            "payments": "No x402, MPP or L402 (0). The self-serve plans have public monthly prices, but the pricing page marks them UI only and lists API access under Enterprise at a custom price through sales (0). The terms describe a 14-day, 30-order trial with no card. The help centre says APIs are activated by sales on an Enterprise plan, so we could not establish that a trial account can call the API, and give part credit (5 of 20). A person signs up in a browser and sales activates the API (0).",
            "reliability": "Read with the hosted lines and scored on the v1 REST API, where rates, labels and tracking live. Statuspage at status.shippypro.com with a component for ShippyPro API \u0026 Webhooks and one per carrier (20). From 11 July to 8 October 2026 no entry names the API. A platform login problem ran for 3 hours 6 minutes on 18 September, marked critical, SMS one-time codes went unsent from 29 August to 3 September and from 19 September to 5 October, and one carrier's label creation was marked critical on most days, some for several days (Asendia from 20 to 31 August). We read that as one major, as for other listings in this category (10 of 30). 20 requests every 10 seconds (15). v1 documents the 429 and nothing more, and `Ship` takes no idempotency key. The help centre suggests spreading calls over several IP addresses. v2 documents `Retry-After`, rate-limit headers and `Idempotency-Key`, but covers no shipping call (5 of 15). The SLA commits to 99.5 per cent a month with service credits (10). GA (10).",
            "schema": "OpenAPI 3.1 files for v1 (55 operations, 119 schemas) and v2 (17 operations), loaded by the reference at api.shippypro.com/docs (25). api.shippypro.com/llms.txt returns 404, the main site's robots.txt disallows /llms.txt so it was not requested, and no Markdown docs were found (0). v1 descriptions state purpose, how to test and known traps, such as `GetTracking` not being meant for bulk use (14 of 20). Required fields are marked, but the v1 file has 14 enums in all, `LabelURL` is a string or an array, `delivery_days` a number or a string, and carrier options are free name and value pairs (9 of 15). 812 examples in the v1 file. v1 error responses are one line per status code with no body schema, and v2 documents RFC 9457 problem types (10 of 15). Versions are in the path, v1 and v2. No changelog was found (6 of 15).",
            "security": "API keys are created in the panel, several per account, in three types (Full Access, Maps, PII Excluded), and v2 answers 401 for a revoked key. No expiry or rotation was found. The help centre still describes Basic auth with the key as username (22 of 30). The Maps and PII Excluded types narrow a key, but there is no read-only key and no confirmation step for label creation or voiding. The Generic carrier allows tests without a real shipment (8 of 20). Tracking messages and marketplace order text come from third parties, and no guidance on untrusted content was found. Requests are screened for script-like strings (3 of 15). The panel has API logs with requests and responses, an API error history and webhook logs (10 of 15). The site footer states ISO 27001 and SOC 2 Type II, with no certificate, report or trust page found. security.txt was not requested because robots.txt disallows the path. No bug bounty or disclosure policy was found (8 of 20).",
            "transparency": "Closed service. The Terms \u0026 Conditions are public and name the contracting entity, but carry no date and reserve the right to change the agreement, prices and service without notice (12 of 30). The privacy policy covers shipment sender and recipient data per product area, anonymises Amazon customer data 30 days after delivery, keeps staff impersonation logs for 19 months and says personal data is never sold. General retention is stated only as long as necessary, and no DPA was found (18 of 30). No deprecation policy. The terms allow any service to be discontinued without notice. The status page carried dated carrier notices (TNT Italy on 13 July, Deutsche Post on 17 August 2026), and the SLA promises seven days' notice of planned downtime (6 of 20). Sub-processors are named per product area, and the full list with countries is a PDF whose file name is dated 15 September 2022, which we did not read (12 of 20)."
          },
          "sources": [
            {
              "what": "API reference (page that loads the two OpenAPI files)",
              "url": "https://api.shippypro.com/docs",
              "seen": "2026-10-09"
            },
            {
              "what": "OpenAPI file, v1",
              "url": "https://api.shippypro.com/docs/v1.json",
              "seen": "2026-10-09"
            },
            {
              "what": "OpenAPI file, v2",
              "url": "https://api.shippypro.com/docs/v2.json",
              "seen": "2026-10-09"
            },
            {
              "what": "public health check",
              "url": "https://api.shippypro.com/v2/status",
              "seen": "2026-10-09"
            },
            {
              "what": "API product page",
              "url": "https://www.shippypro.com/en/api",
              "seen": "2026-10-09"
            },
            {
              "what": "pricing",
              "url": "https://www.shippypro.com/en/pricing",
              "seen": "2026-10-09"
            },
            {
              "what": "Terms \u0026 Conditions",
              "url": "https://www.shippypro.com/en/legal/terms",
              "seen": "2026-10-09"
            },
            {
              "what": "privacy policy",
              "url": "https://www.shippypro.com/en/legal/privacy",
              "seen": "2026-10-09"
            },
            {
              "what": "Service Level Agreement",
              "url": "https://www.shippypro.com/en/legal/sla",
              "seen": "2026-10-09"
            },
            {
              "what": "status page",
              "url": "https://status.shippypro.com/",
              "seen": "2026-10-09"
            },
            {
              "what": "status history, August to October 2026",
              "url": "https://status.shippypro.com/history",
              "seen": "2026-10-09"
            },
            {
              "what": "status history, May to July 2026",
              "url": "https://status.shippypro.com/history?page=2",
              "seen": "2026-10-09"
            },
            {
              "what": "help centre, how the API works",
              "url": "https://help.shippypro.com/en/knowledge/articles/3306113-how-shippypro-api-works-and-how-to-integrate-them",
              "seen": "2026-10-09"
            },
            {
              "what": "help centre, webhooks",
              "url": "https://help.shippypro.com/en/knowledge/articles/4134207-how-do-i-connect-webhooks",
              "seen": "2026-10-09"
            },
            {
              "what": "help centre, API errors",
              "url": "https://help.shippypro.com/en/knowledge/articles/4026665-how-to-fix-api-errors",
              "seen": "2026-10-09"
            },
            {
              "what": "help centre, API section",
              "url": "https://help.shippypro.com/en/knowledge/api",
              "seen": "2026-10-09"
            },
            {
              "what": "robots.txt for the main site",
              "url": "https://www.shippypro.com/robots.txt",
              "seen": "2026-10-09"
            },
            {
              "what": "RDAP record for shippypro.com",
              "url": "https://rdap.verisign.com/com/v1/domain/shippypro.com",
              "seen": "2026-10-09"
            }
          ],
          "openQuestions": [
            "unchecked: www.shippypro.com/.well-known/security.txt and /llms.txt, which the site's robots.txt disallows, so neither was requested",
            "unchecked: the full sub-processor list, a PDF on public-website-hb.shippypro.com that the privacy policy links (file name dated 15 September 2022)",
            "unchecked: official SDKs or repositories. None is linked from the pages read. One PyPI lookup was made before reading PyPI's robots.txt, which disallows that path, and its result was discarded",
            "unchecked: prices in USD and GBP. The pricing page was read in EUR only",
            "Whether a 14-day trial account can create an API key and call the API. The OpenAPI file says to create a free account, and the help centre says APIs need an Enterprise plan activated by sales",
            "Whether the API accepts Basic auth as the help centre says, Bearer as the OpenAPI files say, or both",
            "Whether v1 returns Retry-After on a 429. The v1 file does not say",
            "Whether ISO 27001 and SOC 2 Type II reports are available. The footer states both and no report or trust page was found",
            "When the v2 API launched and whether v1 has an end date. No changelog or deprecation notice was found",
            "The lead named https://www.shippypro.com/en/api as the docs. That is the product page, and the reference is at https://api.shippypro.com/docs"
          ]
        },
        "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"
      },
      "notable": [
        "The v1 API has 55 operations, all POST to `https://api.shippypro.com/v1/\u003cMethod\u003e` with a JSON body of `Method` and `Params`, among them `Ship`, `GetRates`, `GetTracking`, `CheckAddress`, `BookPickup` and `VoidShipments` (https://api.shippypro.com/docs/v1.json)",
        "A v2 API with 17 operations covers the carrier catalogue, carrier account configuration and analytics exports, with cursor pagination, RFC 9457 errors, `Idempotency-Key` and rate-limit headers (https://api.shippypro.com/docs/v2.json)",
        "The rate limit is 20 API requests every 10 seconds, with a higher limit sold for a fee (https://api.shippypro.com/docs/v1.json)",
        "The help centre says APIs can only be activated with an Enterprise plan (https://help.shippypro.com/en/knowledge/articles/3306113-how-shippypro-api-works-and-how-to-integrate-them)",
        "The SLA commits to 99.5 per cent monthly availability, with service credits of 0.5 to 5 per cent and up to 50 hours a year of scheduled downtime excluded (https://www.shippypro.com/en/legal/sla)",
        "Rates come from the customer's own carrier contracts. The API page says ShippyPro adds no markup, and the terms forbid using the platform or API to resell carrier tariffs without authorisation (https://www.shippypro.com/en/legal/terms)",
        "The status page has a component named ShippyPro API \u0026 Webhooks and one per carrier. From 1 August to 8 October 2026 it lists 108 entries, most of them one carrier's label creation marked critical (https://status.shippypro.com/history)",
        "Only labels created by a successful `Ship` call count against the plan's shipment total. `GetRates` calls and failed shipments do not (https://help.shippypro.com/en/knowledge/articles/3306113-how-shippypro-api-works-and-how-to-integrate-them)",
        "The terms say data may be processed with AI, excluding personal data, and that customer data is not used to develop AI systems without notice and explicit consent (https://www.shippypro.com/en/legal/terms)"
      ],
      "area": "business",
      "details": [
        {
          "label": "API",
          "value": "REST at https://api.shippypro.com. v1 has 55 operations, every one a POST with `Method` and `Params` in the body. v2 has 17 resource-style operations for carriers, carrier configs and analytics exports. A SOAP version has a WSDL"
        },
        {
          "label": "Access",
          "value": "Enterprise plan through sales, per the help centre and the pricing page. Keys are then created in the account panel"
        },
        {
          "label": "Key types",
          "value": "Full Access, Maps (pickup-point map only) and PII Excluded (names, addresses and phone numbers hidden). More than one key per account"
        },
        {
          "label": "Testing",
          "value": "No sandbox or test key. The Generic carrier returns test labels and rates with no real tracking number. `Ship` and `Edit` calls on a real carrier create real labels"
        },
        {
          "label": "Rate limits",
          "value": "20 requests every 10 seconds on v1, 429 above that, and a higher limit for a fee. v2 responses carry `RateLimit` and `RateLimit-Policy` headers, and its 429 carries `Retry-After`"
        },
        {
          "label": "Carriers",
          "value": "ShippyPro says 200+ carriers on the API page and 191 in the site footer. Shipments run on the customer's own carrier accounts"
        },
        {
          "label": "Tracking",
          "value": "`GetTracking` per shipment, or webhooks for Order Shipped, Order Error and Tracking Updates. Six status codes and about 45 extended codes across carriers"
        },
        {
          "label": "Address validation",
          "value": "`CheckAddress` uses the carrier's own validation for GLS Italy and TNT Italy and geocoding for the rest, with an accuracy value of 40, 60, 75 or 95"
        },
        {
          "label": "Returns",
          "value": "`Ship` with `IsReturn`, a return label in the same call as the outbound label, or a return on a different carrier"
        },
        {
          "label": "Webhooks",
          "value": "Set up in the panel, with optional Basic auth, a custom header, up to 10 retries and a log. No signature scheme was found. Source IP addresses are not fixed unless a static address is bought"
        },
        {
          "label": "Errors",
          "value": "v1 uses 400, 401, 403, 404, 429 and 500 with no documented body, and reports label failures in a 200 response with `Status` 2, `ErrorMessage`, `ErrorType` and `ErrorSuggestion`. v2 answers application/problem+json"
        },
        {
          "label": "SLA",
          "value": "99.5 per cent monthly availability, service credits of 0.5 to 5 per cent on request, P1 response within 30 minutes, seven days' notice of planned downtime"
        },
        {
          "label": "Status",
          "value": "status.shippypro.com on Statuspage, with components for the platform, API \u0026 Webhooks, tracking, returns, notifications and each carrier and marketplace"
        },
        {
          "label": "Compliance",
          "value": "The site footer states ISO 27001, GDPR compliant and SOC 2 Type II. No certificate, report or trust page was found on the pages read"
        }
      ],
      "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,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Italian Valley S.r.l.",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "shippypro.com, registered 2016-10-24 (9 years)",
            "points": 11,
            "max": 15,
            "state": "part"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "api.shippypro.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 2 of the 7 things a reader expects, and has 1 clause that costs points",
            "points": 3.7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 6 of the 8 things a reader expects",
            "points": 8.5,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "status.shippypro.com",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Changelog",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "security.txt",
            "value": "could not be fetched",
            "points": 0,
            "max": 10,
            "state": "no"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://www.shippypro.com/en/legal/terms",
            "state": "read",
            "readAt": "2026-10-08",
            "words": 3641,
            "points": 3.7,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": false
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": false
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": false
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "In addition to any termination rights set forth in this Agreement, Customer may terminate the Subscription Term by sending ShippyPro notice of non-renewal or, if Customer's Subscription Term is on a monthly basis (or if otherwise permitted by ShippyPro), by terminating via the \"Plans\" page on the ShippyPro platform, w…"
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "ShippyPro reserves the right to update or change this Agreement without notice.",
                "says": "Says it gives notice of a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": false
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": false
              }
            ],
            "toKnow": [
              {
                "key": "terms.nonotice",
                "label": "Says the terms or the service can change without notice",
                "found": true,
                "quote": "ShippyPro reserves the right to update or change this Agreement without notice.",
                "costsPoints": true
              },
              {
                "key": "terms.cutoff",
                "label": "Says access can be ended without notice or for any reason",
                "found": true,
                "quote": "ShippyPro has the right to suspend or terminate your account and current or future use of service due to any reason."
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "ShippyPro says it will not use customer data to develop AI systems without first notifying the customer and obtaining explicit consent.",
                "quote": "We will not use your data for the development of AI systems without first notifying you and obtaining your explicit consent."
              },
              {
                "date": "2026-10-08",
                "text": "Monthly subscription prices can be changed at any time without prior notice.",
                "quote": "ShippyPro reserves the right to modify monthly subscription prices at any time without prior notice."
              },
              {
                "date": "2026-10-08",
                "text": "An account that is terminated or suspended is deleted.",
                "quote": "Termination or suspension will result in deletion of your account."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://www.shippypro.com/en/legal/privacy",
            "state": "read",
            "readAt": "2026-10-08",
            "words": 4854,
            "points": 8.5,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": false
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": false
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "In order to hold every eligible staff member accountable for the actions they take when impersonating a Customer, all actions undertaken are logged and retained in a pseudonymized form for 19 months.",
                "says": "Names a period of 19 months"
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "The most updated full sub-processors list, that is the list of all data sub-processors regardless of which feature they pertain to, may be found at https://www.shippypro.com/en/legal/privacy/sub-processors/."
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": true,
                "quote": "We will never sell your personal data, or the personal data for your customers.",
                "says": "Says it does not sell personal data"
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "…imposed by the Laws on the protection of personal data - Regulation (EU) 2016/679 (hereinafter \"GDPR\"), D.Lgs 196/2003, as updated by D.Lgs 101/2018 (or \"Codice per la protezione dei dati personali\") and the relevant measures of the Data Protection Authority - but also because ShippyPro believes that the protection of…"
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "For questions about this privacy policy, or our use of your personal information, cookies or similar technologies, please contact us by email at [email protected].",
                "says": "Gives an email address, hidden from our reader by the page"
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": true,
                "quote": "…provided for by the Laws on the protection of personal data (such as, for example, the stipulation of standard contractual clauses with the subject who will receive the data and who must in any case guarantee that the user's personal data is subject to the same level of protection guaranteed by ShippyPro).",
                "says": "Relies on standard contractual clauses"
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "Staff may sign in as a customer and see all of the account's data, but only when the customer explicitly asks for it.",
                "quote": "Staff members are allowed to impersonate Customers only upon an explicit and contingent request by the Customer: any other impersonation is expressly prohibited from the Terms of Employment."
              },
              {
                "date": "2026-10-08",
                "text": "The policy treats itself as part of the software and forbids reproducing it in whole or in part.",
                "quote": "This policy should be considered an integral part of the Software as defined in the Terms \u0026 Conditions, and as such any reproduction, in whole or otherwise, is against the Terms \u0026 Conditions of the Site and is explicitly forbidden."
              }
            ]
          }
        ]
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/shippypro.json",
      "live": {
        "slug": "shippypro",
        "probe": {
          "target": "https://api.shippypro.com",
          "method": "get",
          "lastAt": "2026-10-09T09:27:04.562167291Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 116,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 57,
          "p95ms24h": 116,
          "samples24h": 20,
          "samples30d": 20,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.shippypro.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-09T09:25:32.695209929Z"
        },
        "updatedAt": "2026-10-09T09:27:04.562167291Z"
      }
    },
    "verify": {
      "accepts": "a page on shippypro.com or one of its subdomains",
      "badgeUrl": "https://www.anchorterminal.com/badges/shippypro.svg",
      "body": {
        "slug": "shippypro",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/shippypro",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/shippypro\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/shippypro.svg\" alt=\"ShippyPro on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![ShippyPro on Anchor Terminal](https://www.anchorterminal.com/badges/shippypro.svg)](https://www.anchorterminal.com/tools/shippypro)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/shippypro\"\u003eShippyPro on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/shippypro",
    "json": "https://www.anchorterminal.com/tools/shippypro.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/shippypro.md",
    "slim": "https://www.anchorterminal.com/tools/shippypro.min.md"
  },
  "markdown": "## Overview\n\n**Grade D · 48.7/100 · rank #718 of 842 · #9 in Shipping \u0026 fulfilment · not agent-ready · confidence medium**\n\n\n## Assessment\n\nTwo 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## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Italian Valley S.r.l. (https://www.shippypro.com) |\n| Kind | HTTP API |\n| Category | Shipping \u0026 fulfilment (https://www.anchorterminal.com/categories/shipping) |\n| Transport | HTTP |\n| Endpoint | `https://api.shippypro.com` |\n| Auth | API key · 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. |\n| Pricing | Paid (Paid) · 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). |\n| x402 | No · No x402, MPP or L402 in the OpenAPI files, the API page or the pricing page (checked 2026-10-09). |\n| Licence | Proprietary service under ShippyPro's Terms \u0026 Conditions. Both OpenAPI files state the licence as Proprietary |\n| Docs | https://api.shippypro.com/docs |\n| llms.txt | not found |\n| API | REST at https://api.shippypro.com. v1 has 55 operations, every one a POST with `Method` and `Params` in the body. v2 has 17 resource-style operations for carriers, carrier configs and analytics exports. A SOAP version has a WSDL |\n| Access | Enterprise plan through sales, per the help centre and the pricing page. Keys are then created in the account panel |\n| Key types | Full Access, Maps (pickup-point map only) and PII Excluded (names, addresses and phone numbers hidden). More than one key per account |\n| Testing | No sandbox or test key. The Generic carrier returns test labels and rates with no real tracking number. `Ship` and `Edit` calls on a real carrier create real labels |\n| Rate limits | 20 requests every 10 seconds on v1, 429 above that, and a higher limit for a fee. v2 responses carry `RateLimit` and `RateLimit-Policy` headers, and its 429 carries `Retry-After` |\n| Carriers | ShippyPro says 200+ carriers on the API page and 191 in the site footer. Shipments run on the customer's own carrier accounts |\n| Tracking | `GetTracking` per shipment, or webhooks for Order Shipped, Order Error and Tracking Updates. Six status codes and about 45 extended codes across carriers |\n| Address validation | `CheckAddress` uses the carrier's own validation for GLS Italy and TNT Italy and geocoding for the rest, with an accuracy value of 40, 60, 75 or 95 |\n| Returns | `Ship` with `IsReturn`, a return label in the same call as the outbound label, or a return on a different carrier |\n| Webhooks | Set up in the panel, with optional Basic auth, a custom header, up to 10 retries and a log. No signature scheme was found. Source IP addresses are not fixed unless a static address is bought |\n| Errors | v1 uses 400, 401, 403, 404, 429 and 500 with no documented body, and reports label failures in a 200 response with `Status` 2, `ErrorMessage`, `ErrorType` and `ErrorSuggestion`. v2 answers application/problem+json |\n| SLA | 99.5 per cent monthly availability, service credits of 0.5 to 5 per cent on request, P1 response within 30 minutes, seven days' notice of planned downtime |\n| Status | status.shippypro.com on Statuspage, with components for the platform, API \u0026 Webhooks, tracking, returns, notifications and each carrier and marketplace |\n| Compliance | The site footer states ISO 27001, GDPR compliant and SOC 2 Type II. No certificate, report or trust page was found on the pages read |\n| Capabilities | shipping.rates, shipping.labels, shipping.tracking, shipping.address-validation, shipping.returns |\n| Tags | hosted, paid, sales-led, enterprise, api-key, openapi, webhooks, soap, status-page, sla, europe |\n| JSON | https://www.anchorterminal.com/api/v1/tools/shippypro.json |\n\n## Score breakdown (methodology v0.4, October 2026 research run)\n\nAssessed 2026-10-09 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 70 | 14.0 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 64 | 10.4 |\n| Agent ergonomics | 13% | 16.2 | 46 | 7.5 |\n| Security \u0026 auth | 14% | 17.5 | 51 | 8.9 |\n| Payments \u0026 pricing | 10% | 12.5 | 5 | 0.6 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 25 | 2.2 |\n| Transparency \u0026 trust (editorial 48, provenance 68) | 7% | 8.8 | 58 | 5.1 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **48.7 → D** |\n\n### Why each score\n\n- Reliability 70: Read with the hosted lines and scored on the v1 REST API, where rates, labels and tracking live. Statuspage at status.shippypro.com with a component for ShippyPro API \u0026 Webhooks and one per carrier (20). From 11 July to 8 October 2026 no entry names the API. A platform login problem ran for 3 hours 6 minutes on 18 September, marked critical, SMS one-time codes went unsent from 29 August to 3 September and from 19 September to 5 October, and one carrier's label creation was marked critical on most days, some for several days (Asendia from 20 to 31 August). We read that as one major, as for other listings in this category (10 of 30). 20 requests every 10 seconds (15). v1 documents the 429 and nothing more, and `Ship` takes no idempotency key. The help centre suggests spreading calls over several IP addresses. v2 documents `Retry-After`, rate-limit headers and `Idempotency-Key`, but covers no shipping call (5 of 15). The SLA commits to 99.5 per cent a month with service credits (10). GA (10).\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 64: OpenAPI 3.1 files for v1 (55 operations, 119 schemas) and v2 (17 operations), loaded by the reference at api.shippypro.com/docs (25). api.shippypro.com/llms.txt returns 404, the main site's robots.txt disallows /llms.txt so it was not requested, and no Markdown docs were found (0). v1 descriptions state purpose, how to test and known traps, such as `GetTracking` not being meant for bulk use (14 of 20). Required fields are marked, but the v1 file has 14 enums in all, `LabelURL` is a string or an array, `delivery_days` a number or a string, and carrier options are free name and value pairs (9 of 15). 812 examples in the v1 file. v1 error responses are one line per status code with no body schema, and v2 documents RFC 9457 problem types (10 of 15). Versions are in the path, v1 and v2. No changelog was found (6 of 15).\n- Agent ergonomics 46: Scored on the REST API. v1 report calls take date ranges and switches such as `IncludeItems`, with no field selection, and v2 lists take `pageSize` up to 100 (12 of 25). v1 lists have date filters and no pagination. v2 has cursor pagination and filters by carrier and country (10 of 20). v1 mixes HTTP status codes with 200 responses carrying `Status` 2, though `ErrorType` and `ErrorSuggestion` name a cause and a fix. v2 errors are application/problem+json with field pointers (12 of 20). No idempotency key on `Ship`, `Edit` or `VoidShipments`. v2 accepts `Idempotency-Key` on POST and DELETE and answers 409 on a mismatched replay (7 of 20). `Ship` has eight required parameters and needs a `CarrierID` from the panel or `GetCarriers`. No official SDK was found on the pages read, though the API page's FAQ mentions SDKs (5 of 15).\n- Security \u0026 auth 51: API keys are created in the panel, several per account, in three types (Full Access, Maps, PII Excluded), and v2 answers 401 for a revoked key. No expiry or rotation was found. The help centre still describes Basic auth with the key as username (22 of 30). The Maps and PII Excluded types narrow a key, but there is no read-only key and no confirmation step for label creation or voiding. The Generic carrier allows tests without a real shipment (8 of 20). Tracking messages and marketplace order text come from third parties, and no guidance on untrusted content was found. Requests are screened for script-like strings (3 of 15). The panel has API logs with requests and responses, an API error history and webhook logs (10 of 15). The site footer states ISO 27001 and SOC 2 Type II, with no certificate, report or trust page found. security.txt was not requested because robots.txt disallows the path. No bug bounty or disclosure policy was found (8 of 20).\n- Payments \u0026 pricing 5: No x402, MPP or L402 (0). The self-serve plans have public monthly prices, but the pricing page marks them UI only and lists API access under Enterprise at a custom price through sales (0). The terms describe a 14-day, 30-order trial with no card. The help centre says APIs are activated by sales on an Enterprise plan, so we could not establish that a trial account can call the API, and give part credit (5 of 20). A person signs up in a browser and sales activates the API (0).\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 25: No API changelog or dated release notes were found. Both OpenAPI files were last modified on 8 October 2026 per their HTTP headers, and the v2 file reads as recent work, so we give half for recency on that metadata alone (15 of 30). No dated entries in the last 90 days (0). Closed service with no changelog. Support runs through tickets, email and chat, the SLA sets response times, and the status page is updated daily (7 of 15). No official SDK or MCP registry entry was found (0). The contract is current OpenAPI 3.1 with examples (3 of 10).\n- Transparency \u0026 trust 58: Closed service. The Terms \u0026 Conditions are public and name the contracting entity, but carry no date and reserve the right to change the agreement, prices and service without notice (12 of 30). The privacy policy covers shipment sender and recipient data per product area, anonymises Amazon customer data 30 days after delivery, keeps staff impersonation logs for 19 months and says personal data is never sold. General retention is stated only as long as necessary, and no DPA was found (18 of 30). No deprecation policy. The terms allow any service to be discontinued without notice. The status page carried dated carrier notices (TNT Italy on 13 July, Deutsche Post on 17 August 2026), and the SLA promises seven days' notice of planned downtime (6 of 20). Sub-processors are named per product area, and the full list with countries is a PDF whose file name is dated 15 September 2022, which we did not read (12 of 20).\n\nFix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (22 items): https://www.anchorterminal.com/fixes/shippypro.md (JSON https://www.anchorterminal.com/fixes/shippypro.json)\n\n### What we couldn't check\n\n- unchecked: www.shippypro.com/.well-known/security.txt and /llms.txt, which the site's robots.txt disallows, so neither was requested\n- unchecked: the full sub-processor list, a PDF on public-website-hb.shippypro.com that the privacy policy links (file name dated 15 September 2022)\n- unchecked: official SDKs or repositories. None is linked from the pages read. One PyPI lookup was made before reading PyPI's robots.txt, which disallows that path, and its result was discarded\n- unchecked: prices in USD and GBP. The pricing page was read in EUR only\n- Whether a 14-day trial account can create an API key and call the API. The OpenAPI file says to create a free account, and the help centre says APIs need an Enterprise plan activated by sales\n- Whether the API accepts Basic auth as the help centre says, Bearer as the OpenAPI files say, or both\n- Whether v1 returns Retry-After on a 429. The v1 file does not say\n- Whether ISO 27001 and SOC 2 Type II reports are available. The footer states both and no report or trust page was found\n- When the v2 API launched and whether v1 has an end date. No changelog or deprecation notice was found\n- The lead named https://www.shippypro.com/en/api as the docs. That is the product page, and the reference is at https://api.shippypro.com/docs\n\n### Sources\n\n- API reference (page that loads the two OpenAPI files): \u003chttps://api.shippypro.com/docs\u003e (seen 2026-10-09)\n- OpenAPI file, v1: \u003chttps://api.shippypro.com/docs/v1.json\u003e (seen 2026-10-09)\n- OpenAPI file, v2: \u003chttps://api.shippypro.com/docs/v2.json\u003e (seen 2026-10-09)\n- public health check: \u003chttps://api.shippypro.com/v2/status\u003e (seen 2026-10-09)\n- API product page: \u003chttps://www.shippypro.com/en/api\u003e (seen 2026-10-09)\n- pricing: \u003chttps://www.shippypro.com/en/pricing\u003e (seen 2026-10-09)\n- Terms \u0026 Conditions: \u003chttps://www.shippypro.com/en/legal/terms\u003e (seen 2026-10-09)\n- privacy policy: \u003chttps://www.shippypro.com/en/legal/privacy\u003e (seen 2026-10-09)\n- Service Level Agreement: \u003chttps://www.shippypro.com/en/legal/sla\u003e (seen 2026-10-09)\n- status page: \u003chttps://status.shippypro.com/\u003e (seen 2026-10-09)\n- status history, August to October 2026: \u003chttps://status.shippypro.com/history\u003e (seen 2026-10-09)\n- status history, May to July 2026: \u003chttps://status.shippypro.com/history?page=2\u003e (seen 2026-10-09)\n- help centre, how the API works: \u003chttps://help.shippypro.com/en/knowledge/articles/3306113-how-shippypro-api-works-and-how-to-integrate-them\u003e (seen 2026-10-09)\n- help centre, webhooks: \u003chttps://help.shippypro.com/en/knowledge/articles/4134207-how-do-i-connect-webhooks\u003e (seen 2026-10-09)\n- help centre, API errors: \u003chttps://help.shippypro.com/en/knowledge/articles/4026665-how-to-fix-api-errors\u003e (seen 2026-10-09)\n- help centre, API section: \u003chttps://help.shippypro.com/en/knowledge/api\u003e (seen 2026-10-09)\n- robots.txt for the main site: \u003chttps://www.shippypro.com/robots.txt\u003e (seen 2026-10-09)\n- RDAP record for shippypro.com: \u003chttps://rdap.verisign.com/com/v1/domain/shippypro.com\u003e (seen 2026-10-09)\n\n## Who's behind it (provenance 68/100, checked 2026-10-09)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Italian Valley S.r.l. | 20/20 |\n| Domain age | shippypro.com, registered 2016-10-24 (9 years) | 11/15 |\n| Endpoint on the vendor's domain | api.shippypro.com | 15/15 |\n| Terms of service | read, states 2 of the 7 things a reader expects, and has 1 clause that costs points | 3.7/10 |\n| Privacy policy | read, states 6 of the 8 things a reader expects | 8.5/10 |\n| Status page | status.shippypro.com | 10/10 |\n| Changelog | not found | 0/10 |\n| security.txt | could not be fetched | 0/10 |\n\nThe 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.\n\nThe 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.\n\nRDAP for shippypro.com gives a registration date of 2016-10-24.\n\nThe API answers at api.shippypro.com and the reference is served from the same host.\n\nwww.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.\n\nNo API changelog or release notes page was found on the API page, the reference or the help centre's API section.\n\nThe SLA at https://www.shippypro.com/en/legal/sla is stated to be part of the agreement with the customer.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://www.shippypro.com/en/legal/terms), read 2026-10-08, gives no date, states 2 of the 7 things a reader expects.\n\n- To know. Says the terms or the service can change without notice (costs points). \"ShippyPro reserves the right to update or change this Agreement without notice.\"\n- To know. Says access can be ended without notice or for any reason. \"ShippyPro has the right to suspend or terminate your account and current or future use of service due to any reason.\"\n- Not found in the text. Gives the date it was last updated.\n- Not found in the text. Names the governing law or courts.\n- Not found in the text. States a limit on its liability.\n- Says how changes to the terms are announced. Says it gives notice of a change.\n- Not found in the text. Lists what users may not do.\n- Not found in the text. Refers to a service level or uptime commitment.\n- Also in the text (2026-10-08). ShippyPro says it will not use customer data to develop AI systems without first notifying the customer and obtaining explicit consent. \"We will not use your data for the development of AI systems without first notifying you and obtaining your explicit consent.\"\n- Also in the text (2026-10-08). Monthly subscription prices can be changed at any time without prior notice. \"ShippyPro reserves the right to modify monthly subscription prices at any time without prior notice.\"\n- Also in the text (2026-10-08). An account that is terminated or suspended is deleted. \"Termination or suspension will result in deletion of your account.\"\n\n**Privacy policy** (https://www.shippypro.com/en/legal/privacy), read 2026-10-08, gives no date, states 6 of the 8 things a reader expects.\n\n- Not found in the text. Gives the date it was last updated.\n- Not found in the text. Says what personal data is collected.\n- Says how long data is kept. Names a period of 19 months.\n- Says whether personal data is sold or shared for advertising. Says it does not sell personal data.\n- Gives a privacy contact. Gives an email address, hidden from our reader by the page.\n- Says where data is transferred or stored. Relies on standard contractual clauses.\n- Also in the text (2026-10-08). Staff may sign in as a customer and see all of the account's data, but only when the customer explicitly asks for it. \"Staff members are allowed to impersonate Customers only upon an explicit and contingent request by the Customer: any other impersonation is expressly prohibited from the Terms of Employment.\"\n- Also in the text (2026-10-08). The policy treats itself as part of the software and forbids reproducing it in whole or in part. \"This policy should be considered an integral part of the Software as defined in the Terms \u0026 Conditions, and as such any reproduction, in whole or otherwise, is against the Terms \u0026 Conditions of the Site and is explicitly forbidden.\"\n\n## Live (updated 2026-10-09 09:27 UTC)\n\n- Right now: up, HTTP 404, 116 ms, checked 2026-10-09 09:27 UTC (get on `https://api.shippypro.com`)\n- Uptime 24h 100.0% (20 probes) · 30 days 100.0% (20 probes) · p50 57 ms · p95 116 ms\n- Vendor status page: major, Partial System Outage\n- Always current: https://www.anchorterminal.com/api/v1/live/shippypro.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Strengths\n\n- 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\n- Published SLA of 99.5 per cent monthly availability with service credits of 0.5 to 5 per cent\n- API keys come in three types, Full Access, Maps and PII Excluded, and an account can hold several\n- The account panel keeps API request and response logs, an API error history and webhook logs\n- The Generic carrier creates test labels and rates without a real carrier or tracking number\n- The privacy policy lists sub-processors per product area and says customer data is never sold\n\n## Weaknesses\n\n- The help centre says APIs can only be activated with an Enterprise plan, which has no public price and starts with sales\n- No API changelog, release notes or deprecation policy was found, and the terms allow changes without notice\n- `POST /v1/Ship` takes no idempotency key. Only the 17 v2 operations accept `Idempotency-Key`\n- Carrier label incidents marked critical appear on the status page on most days from August to October 2026\n- No official SDK, MCP server or llms.txt was found on the pages read\n- v1 answers some failures with HTTP 200 and `Status` 2, and `LabelURL` can be a string or an array\n\n## Before you call it (notes for agents)\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## Connect\n\nFirst request:\n\n```bash\ncurl -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\": {}}'\n```\n\nThrough letme (picks today, calling later): https://letme.dev/shippypro. letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Easyship | B | 68.8 | 194 | shipping.rates, shipping.labels, shipping.tracking, shipping.address-validation, shipping.returns | no | https://www.anchorterminal.com/tools/easyship.md |\n| Sendcloud | B | 62 | 407 | shipping.rates, shipping.labels, shipping.tracking, shipping.address-validation, shipping.returns | no | https://www.anchorterminal.com/tools/sendcloud.md |\n| Shippo | C | 61.9 | 411 | shipping.rates, shipping.labels, shipping.tracking, shipping.address-validation, shipping.returns | no | https://www.anchorterminal.com/tools/shippo.md |\n| ShipStation API | C | 59.3 | 501 | shipping.rates, shipping.labels, shipping.tracking, shipping.address-validation, shipping.returns | no | https://www.anchorterminal.com/tools/shipstation.md |\n| EasyPost | C | 54.3 | 614 | shipping.rates, shipping.labels, shipping.tracking, shipping.address-validation, shipping.returns | no | https://www.anchorterminal.com/tools/easypost.md |\n| ShipBob | C | 60.8 | 448 | shipping.rates, shipping.tracking, shipping.returns, shipping.labels | no | https://www.anchorterminal.com/tools/shipbob.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- The v1 API has 55 operations, all POST to `https://api.shippypro.com/v1/\u003cMethod\u003e` with a JSON body of `Method` and `Params`, among them `Ship`, `GetRates`, `GetTracking`, `CheckAddress`, `BookPickup` and `VoidShipments` (source: \u003chttps://api.shippypro.com/docs/v1.json\u003e)\n- A v2 API with 17 operations covers the carrier catalogue, carrier account configuration and analytics exports, with cursor pagination, RFC 9457 errors, `Idempotency-Key` and rate-limit headers (source: \u003chttps://api.shippypro.com/docs/v2.json\u003e)\n- The rate limit is 20 API requests every 10 seconds, with a higher limit sold for a fee (source: \u003chttps://api.shippypro.com/docs/v1.json\u003e)\n- The help centre says APIs can only be activated with an Enterprise plan (source: \u003chttps://help.shippypro.com/en/knowledge/articles/3306113-how-shippypro-api-works-and-how-to-integrate-them\u003e)\n- The SLA commits to 99.5 per cent monthly availability, with service credits of 0.5 to 5 per cent and up to 50 hours a year of scheduled downtime excluded (source: \u003chttps://www.shippypro.com/en/legal/sla\u003e)\n- Rates come from the customer's own carrier contracts. The API page says ShippyPro adds no markup, and the terms forbid using the platform or API to resell carrier tariffs without authorisation (source: \u003chttps://www.shippypro.com/en/legal/terms\u003e)\n- The status page has a component named ShippyPro API \u0026 Webhooks and one per carrier. From 1 August to 8 October 2026 it lists 108 entries, most of them one carrier's label creation marked critical (source: \u003chttps://status.shippypro.com/history\u003e)\n- Only labels created by a successful `Ship` call count against the plan's shipment total. `GetRates` calls and failed shipments do not (source: \u003chttps://help.shippypro.com/en/knowledge/articles/3306113-how-shippypro-api-works-and-how-to-integrate-them\u003e)\n- The terms say data may be processed with AI, excluding personal data, and that customer data is not used to develop AI systems without notice and explicit consent (source: \u003chttps://www.shippypro.com/en/legal/terms\u003e)\n\n## Compare\n\n- [EasyPost vs ShippyPro](https://www.anchorterminal.com/compare/easypost-vs-shippypro.md): C 54.3 vs D 48.7\n- [Easyship vs ShippyPro](https://www.anchorterminal.com/compare/easyship-vs-shippypro.md): B 68.8 vs D 48.7\n- [Karrio vs ShippyPro](https://www.anchorterminal.com/compare/karrio-vs-shippypro.md): D 48.7 vs D 48.7\n- [Sendcloud vs ShippyPro](https://www.anchorterminal.com/compare/sendcloud-vs-shippypro.md): B 62 vs D 48.7\n- [ShipBob vs ShippyPro](https://www.anchorterminal.com/compare/shipbob-vs-shippypro.md): C 60.8 vs D 48.7\n- [Shippo vs ShippyPro](https://www.anchorterminal.com/compare/shippo-vs-shippypro.md): C 61.9 vs D 48.7\n- [ShippyPro vs ShipStation API](https://www.anchorterminal.com/compare/shippypro-vs-shipstation.md): D 48.7 vs C 59.3\n- [Ship24 vs ShippyPro](https://www.anchorterminal.com/compare/ship24-vs-shippypro.md): C 55 vs D 48.7\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on shippypro.com or one of its subdomains. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"shippypro\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/shippypro\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/shippypro.svg\" alt=\"ShippyPro on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![ShippyPro on Anchor Terminal](https://www.anchorterminal.com/badges/shippypro.svg)](https://www.anchorterminal.com/tools/shippypro)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/shippypro\"\u003eShippyPro on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say ShippyPro is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/shippypro-dark.png\n- Light: https://www.anchorterminal.com/assets/share/shippypro-light.png\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Shipping \u0026 fulfilment",
        "url": "https://www.anchorterminal.com/categories/shipping"
      },
      {
        "name": "ShippyPro",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #718 of 842",
      "API key auth",
      "0 desk reviews"
    ],
    "h1": "ShippyPro",
    "image": "https://www.anchorterminal.com/assets/og/tools-shippypro.png",
    "path": "/tools/shippypro",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ShippyPro review for AI agents, grade D (48.7/100) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/tools/shippypro"
  },
  "tokens": {
    "markdown": 7500,
    "slim": 1780
  },
  "version": 1
}
