{
  "name": "USPS Addresses API",
  "slug": "usps-addresses",
  "website_url": "https://developers.usps.com/apis/addresses",
  "vendor_description": "\"Verify and standardize addresses to USPS specifications which minimize shipping delays and errors\"",
  "categories": [
    "address-validation"
  ],
  "summary": "The USPS Addresses API verifies and standardizes U.S. domestic addresses to USPS specifications, supporting ZIP+4 lookup, delivery point coding, and city/state or ZIP code lookups, covering the United States, Puerto Rico, and several U.S. territories. It is aimed at e-commerce and logistics teams looking to reduce shipping errors at checkout. The API is free to access with self-serve signup, with a default quota of 60 requests per hour and higher limits available on request, though no published pricing or SLA is provided. Usage is restricted to individual transactional address validation in support of USPS shipping or mailing, not bulk database cleansing or list building.",
  "capabilities": {
    "supported_actions": [
      "verify_address",
      "standardize_address",
      "city_state_lookup",
      "zipcode_lookup"
    ],
    "supported_regions": [
      "United States (domestic addresses only)",
      "Puerto Rico",
      "U.S. Virgin Islands",
      "Guam",
      "American Samoa",
      "Commonwealth of the Northern Mariana Islands"
    ],
    "supported_languages": [],
    "input_types": [
      "structured address components (streetAddress, secondaryAddress, city, state, ZIPCode)",
      "partial address (city+state or ZIP code required alongside street address)"
    ],
    "output_types": [
      "standardized address components",
      "ZIP+4 code",
      "DPV confirmation codes (Y/S/D/N)",
      "carrier route codes",
      "vacant indicator",
      "match/correction codes",
      "JSON"
    ],
    "webhooks_supported": false,
    "sandbox_available": true,
    "sdk_languages": [
      "cURL / Postman (examples)"
    ],
    "mcp_server_available": false
  },
  "integration": {
    "api_style": "rest",
    "base_url": "https://apis.usps.com/addresses/v3",
    "api_version": "3.1.1",
    "versioning_scheme": "url",
    "stability": "ga",
    "deprecation_policy_url": "https://developers.usps.com/industry-alert-api-retirement",
    "auth_methods": [
      "oauth2"
    ],
    "auth_docs_url": "https://developers.usps.com/getting-started",
    "idempotency_supported": null,
    "error_format": "vendor-specific (apiVersion + error.code + error.message + error.errors[] with status/code/title/detail/source)",
    "webhook_signing": null,
    "webhook_events_url": null,
    "rate_limit_requests": 60,
    "rate_limit_window": "hour",
    "sdk_packages": [
      {
        "package": "api-examples",
        "language": "cURL / Postman (examples)",
        "official": true,
        "repo_url": "https://github.com/USPS/api-examples"
      }
    ],
    "mcp_url": null,
    "quickstart_url": "https://developers.usps.com/getting-started"
  },
  "pricing": {
    "pricing_model": "usage_based",
    "has_published_pricing": false,
    "starting_price_usd": null,
    "price_basis": null,
    "free_tier_available": true,
    "free_tier_limit": "60 requests/hour (default quota; higher limits available on request)",
    "free_tier_details": "Entirely free US government API - no charge for access. Registered developers receive 60 calls per hour per API in the default product (includes Addresses, OAuth, Domestic Pricing, International Pricing, Locations, Service Standards, Shipping Options, UserInfo, Tracking). Higher quota tiers available on request (not self-service).",
    "minimum_commitment": null,
    "self_serve_signup": true,
    "requires_sales_call": false,
    "requires_verification": true,
    "enterprise_plan_available": null,
    "price_points": []
  },
  "compliance": {
    "soc2": null,
    "hipaa": null,
    "gdpr": null,
    "iso_27001": null,
    "pci_dss": null,
    "sla_published": false,
    "sla_url": null,
    "data_retention_policy_url": null,
    "documented_rate_limits": "60 calls per hour (default quota per API in the default product; increases available upon request via service request - not self-service, not guaranteed)",
    "known_restrictions": [
      "US domestic addresses only (US, Puerto Rico, U.S. Virgin Islands, Guam, American Samoa, CNMI) - no international address validation",
      "Cannot be used for data mining, scraping, or building/selling address lists or databases",
      "Must be used exclusively to facilitate USPS shipping and/or mailing transactions",
      "Address validation must be used on an individual transactional basis, not for batch database cleansing",
      "Cannot share credentials with third parties or package/distribute User IDs",
      "Cannot develop a database of addresses for sale or distribution to others",
      "USPS reserves the right to modify rate limits without notice",
      "Upon USPS demand, must delete all data and derivatives from your systems",
      "Must report security breaches within 72 hours",
      "Additional APIs beyond default product require separate registration/approval",
      "USPS is not CASS-certifying body for its own API - CASS certifies third-party address-matching software",
      "Services provided AS IS with no liability for inaccuracy or unavailability"
    ]
  },
  "developer": {
    "docs_url": null,
    "api_reference_url": null,
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": null,
    "status_page_url": null,
    "llms_txt_url": null,
    "markdown_docs_url": null,
    "rendering": null
  },
  "adoption": {
    "launched_at": null,
    "ga_date": "2025-01-22",
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": []
  },
  "scores": {
    "agent_friendliness": 30,
    "pricing_transparency": 30,
    "setup_speed": 90,
    "docs_quality": 0,
    "procurement_friction": 70,
    "trust_readiness": 0,
    "best_for": [
      "Prototypes and side projects - free to start, no sales call"
    ],
    "avoid_if": [
      "You need transparent pricing up front",
      "You have strict compliance requirements"
    ]
  },
  "sources": [
    {
      "field": "vendor_description",
      "url": "https://developers.usps.com/",
      "excerpt": "Verify and standardize addresses to USPS specifications which minimize shipping delays and errors",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://revaddress.com/blog/usps-api-pricing-2026-what-it-really-costs/",
      "excerpt": "USPS v3 REST API is free. No joke — USPS doesn't charge for API access. You register at developers.usps.com, get OAuth credentials, and start making calls.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.uspsdelivers.com/developer-portal-apis/",
      "excerpt": "a free, one-stop solution for e-commerce decision-makers and software developers",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://developers.usps.com/terms-and-conditions",
      "excerpt": "APIs have daily request limits varying by API type. USPS reserves the right to modify, alter or change these limits without notice",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://revaddress.com/blog/usps-api-rate-limits-2026-what-changed/",
      "excerpt": "60 requests per hour for v3 REST API accounts, representing a dramatic reduction from the legacy Web Tools API",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://developers-cat.usps.com/getting-started",
      "excerpt": "change endpoints from https://api.usps.com/ to https://api-cat.usps.com/ when accessing the testing environment",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://developers.usps.com/addressesv3",
      "excerpt": "Address Standardization API validates and standardizes USPS domestic addresses, city and state names, and ZIP Codes in accordance with USPS addressing standards",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://www.disabled-world.com/calculators-charts/us-postal-abbreviations.php",
      "excerpt": "American Samoa (AS), Guam (GU), and Commonwealth of Northern Mariana Islands (MP) are all listed as U.S. Possessions, Territories, and Freely Associated States considered domestic for USPS purposes.",
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://developers.usps.com/getting-started",
      "excerpt": "user-friendly self-service developer onboarding with account creation and OAuth token generation",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://developers.usps.com/terms-and-conditions",
      "excerpt": "facilitate and manage USPS shipping and/or mailing transactions",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://about.usps.com/handbooks/as805i/as805I_ch3_003.htm",
      "excerpt": "Service Organization Control 2 Type II (SOC 2 Type II) — listed as acceptable evidence of compliance from USPS suppliers, not a claim of USPS's own certification",
      "confidence": "medium"
    },
    {
      "field": "free_tier_details",
      "url": "https://www.uspsdelivers.com/developer-portal-apis/",
      "excerpt": "To get started with other APIs not included in the default or to request a quota increase, you must complete the Registration for API Access Form.",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://developers.usps.com/getting-started",
      "excerpt": "All USPS APIs require an OAuth Token to be conveyed in the Authorization header, using the Bearer Token scheme.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://developers.usps.com/sites/default/files/apidoc_specs/addresses%20(1).yaml",
      "excerpt": "servers: - url: https://apis.usps.com/addresses/v3",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://developers.usps.com/sites/default/files/apidoc_specs/addresses%20(1).yaml",
      "excerpt": "API Version: 3.1.1",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://developers.usps.com/getting-started",
      "excerpt": "All USPS APIs require an OAuth Token to be conveyed in the Authorization header, using the Bearer Token scheme.",
      "confidence": "high"
    },
    {
      "field": "auth_docs_url",
      "url": "https://developers.usps.com/getting-started",
      "excerpt": "Log in or create a USPS Business Account via the USPS Customer Onboarding Portal (COP), Create an App in COP, Retrieve Consumer Key and Consumer Secret from Credentials section, Generate OAuth Token using credentials",
      "confidence": "high"
    },
    {
      "field": "stability",
      "url": "https://developers.usps.com/industry-alert-api-retirement",
      "excerpt": "Effective January 22, 2025, the USPS API Versions 1 and 2 will officially retire. USPS API Version 3 is the successor platform.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://developers.usps.com/getting-started",
      "excerpt": "The USPS Github page contains example Postman requests and Curl commands for testing purposes.",
      "confidence": "high"
    },
    {
      "field": "quickstart_url",
      "url": "https://developers.usps.com/getting-started",
      "excerpt": "User-friendly self-service developer onboarding — Log in or create a USPS Business Account via the USPS Customer Onboarding Portal (COP)",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://www.postgrid.com/usps-api-changes-with-rate-limiting-to-60-addresses-minute-what-it-means-why-matter/",
      "excerpt": "the default quota for API calls under the new system is limited to 60 calls per hour per API",
      "confidence": "medium"
    },
    {
      "field": "rate_limit_window",
      "url": "https://developers.usps.com/faq",
      "excerpt": "If you have exceeded the quota limit of API calls per hour, please submit a service request",
      "confidence": "medium"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.uspsdelivers.com/developer-portal-apis/",
      "excerpt": "a free, one-stop solution for e-commerce decision-makers and software developers",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://revaddress.com/blog/usps-api-pricing-2026-what-it-really-costs/",
      "excerpt": "USPS v3 REST API is free. No joke — USPS doesn't charge for API access. You register at developers.usps.com, get OAuth credentials, and start making calls.",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://www.uspsdelivers.com/developer-portal-apis/",
      "excerpt": "a free, one-stop solution for e-commerce decision-makers and software developers",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://www.uspsdelivers.com/developer-portal-apis/",
      "excerpt": "The default product includes a quota of \"60 calls per hour\" for each of these APIs: OAuth, Addresses, Service Standards, International Pricing, Domestic Pricing, and Shipping Options.",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://developers-cat.usps.com/getting-started",
      "excerpt": "Consumer Key and Secret are not interchangeable between Test and Production environments.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://developers.usps.com/apis",
      "excerpt": "Addresses 3.0 - validates and corrects address information, eliminating errors, improving package delivery service and package pricing",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://www.smarty.com/articles/usps-api",
      "excerpt": "the USPS API is for U.S., Puerto Rico, and U.S. Virgin Islands addresses only",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://developers.usps.com/terms-and-conditions",
      "excerpt": "provided 'AS IS' and WITHOUT WARRANTIES OF ANY KIND. USPS not liable for damages from service unavailability or data inaccuracy",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://developers.usps.com/terms-and-conditions",
      "excerpt": "developing a database...for sale to, distribution to, display to, or use by others",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://developers.usps.com/terms-and-conditions",
      "excerpt": "USPS reserves the right to modify, alter or change these limits without notice",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://developers.usps.com/faq",
      "excerpt": "Contact option available via USPS API Support inquiry form — no webhook documentation found for Addresses API specifically",
      "confidence": "medium"
    },
    {
      "field": "free_tier_details",
      "url": "https://revaddress.com/blog/usps-api-rate-limits-2026-what-changed/",
      "excerpt": "it's not self-service, not instant, and not guaranteed",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://developers.usps.com/sites/default/files/apidoc_specs/addresses%20(1).yaml",
      "excerpt": "servers: - url: https://apis.usps.com/addresses/v3",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://developers.usps.com/getting-started",
      "excerpt": "Production: apis.usps.com | Testing: apis-tem.usps.com",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://developers.usps.com/apis",
      "excerpt": "Addresses 3.0 - validates and corrects address information, eliminating errors, improving package delivery",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://developers.usps.com/sites/default/files/apidoc_specs/addresses%20(1).yaml",
      "excerpt": "type: oauth2 — Client Credentials: tokenUrl: /oauth2/v3/token; Authorization Code: authorizationUrl: /oauth2/v3/authorize and tokenUrl: /oauth2/v3/token",
      "confidence": "high"
    },
    {
      "field": "versioning_scheme",
      "url": "https://developers.usps.com/sites/default/files/apidoc_specs/addresses%20(1).yaml",
      "excerpt": "servers: - url: https://apis.usps.com/addresses/v3",
      "confidence": "high"
    },
    {
      "field": "deprecation_policy_url",
      "url": "https://developers.usps.com/industry-alert-api-retirement",
      "excerpt": "Industry Alert: Retirement of APIs Version 1 and Version 2 — Effective January 22, 2025, the USPS API Versions 1 and 2 will officially retire.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/USPS/api-examples",
      "excerpt": "Official USPS repository for API examples — cURL examples for all API endpoints, JSON request/response samples, and Postman collection (Example-Postman.postman_collection.json)",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://developers.usps.com/sites/default/files/apidoc_specs/addresses%20(1).yaml",
      "excerpt": "Error structure: apiVersion, error.code, error.message, error.errors[] containing status, code, title, detail, source (parameter/example)",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://developers.usps.com/faq",
      "excerpt": "If you have exceeded the quota limit of API calls per hour, please submit a service request",
      "confidence": "medium"
    },
    {
      "field": "rate_limit_window",
      "url": "https://developers.usps.com/sites/default/files/apidoc_specs/addresses%20(1).yaml",
      "excerpt": "Retry-After: 30 returned with 429 (Too Many Requests) responses",
      "confidence": "medium"
    },
    {
      "field": "free_tier_limit",
      "url": "https://revaddress.com/blog/usps-api-pricing-2026-what-it-really-costs/",
      "excerpt": "USPS v3 REST API is free. No joke — USPS doesn't charge for API access. You register at developers.usps.com, get OAuth credentials, and start making calls.",
      "confidence": "medium"
    },
    {
      "field": "ga_date",
      "url": "https://developers.usps.com/industry-alert-api-retirement",
      "excerpt": "Effective January 22, 2025, the USPS API Versions 1 and 2 will officially retire. USPS API Version 3 is the successor platform.",
      "confidence": "medium"
    },
    {
      "field": "requires_verification",
      "url": "https://developers.usps.com/getting-started",
      "excerpt": "Log in or create a USPS Business Account via the USPS Customer Onboarding Portal (COP), Create an App in COP, Retrieve Consumer Key and Consumer Secret from Credentials section",
      "confidence": "high"
    },
    {
      "field": "free_tier_limit",
      "url": "https://www.postgrid.com/usps-api-changes-with-rate-limiting-to-60-addresses-minute-what-it-means-why-matter/",
      "excerpt": "the default quota for API calls under the new system is limited to 60 calls per hour per API",
      "confidence": "medium"
    }
  ],
  "fields_not_found": [
    "enterprise_plan_available",
    "soc2",
    "hipaa",
    "gdpr",
    "iso_27001",
    "pci_dss",
    "sdk_languages (no official USPS SDK; only cURL examples and Postman collections)",
    "mcp_server_available",
    "launched_at",
    "sla_url",
    "data_retention_policy_url",
    "mcp_url",
    "webhook_signing",
    "webhook_events_url",
    "starting_price_usd",
    "price_basis",
    "idempotency_supported",
    "notable_customers"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-14T00:00:00.000Z",
  "contribute": {
    "note": "This data is crowd-editable. Suggest corrections or leave a review via these endpoints - no auth required, requests are rate-limited, and every submission is reviewed before it goes live. For a field edit, {field} is any key in this response and a citation is required.",
    "endpoints": [
      {
        "action": "review",
        "label": "Leave a review or comment",
        "method": "POST",
        "url": "https://apio.sh/api/feedback/usps-addresses",
        "example_body": {
          "kind": "review",
          "rating": 5,
          "body": "Your experience with this API…"
        }
      },
      {
        "action": "field_edit",
        "label": "Suggest a correction to a field (cite a source)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/usps-addresses/{field}",
        "example_body": {
          "value": "corrected value",
          "citations": [
            {
              "url": "https://source.example/page",
              "excerpt": "supporting quote"
            }
          ],
          "note": "what changed and why"
        }
      },
      {
        "action": "new_api",
        "label": "Suggest a new API to add",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/api",
        "example_body": {
          "value": {
            "name": "Acme API",
            "website_url": "https://acme.example"
          },
          "citations": [
            {
              "url": "https://acme.example"
            }
          ]
        }
      },
      {
        "action": "token",
        "label": "Optional - raise your rate limit",
        "method": "GET",
        "url": "https://apio.sh/api/feedback/token"
      }
    ]
  }
}