United States Postal Service · Schema
Estimates
A list of delivery estimates for the unique combination of Mail Class, Destination Type, Acceptance Location, and Delivery Time
GovernmentPostal ServiceShippingLogisticsAddress ValidationPackage Tracking
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/usps/json-schema/usps-estimates-schema.json",
"title": "Estimates",
"description": "A list of delivery estimates for the unique combination of Mail Class, Destination Type, Acceptance Location, and Delivery Time",
"x-generated": "2026-11-11",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/usps-service-standards-openapi.yml#/components/schemas/Estimates",
"type": "array",
"items": {
"$ref": "#/$defs/Estimate"
},
"$defs": {
"Address": {
"title": "Address",
"type": "object",
"properties": {
"streetAddress": {
"maxLength": 50,
"minLength": 1,
"type": "string",
"description": "The number of a building along with the name of the road or street on which it is located."
},
"streetAddressAbbreviation": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "Primary address line abbreviations.",
"readOnly": true
},
"secondaryAddress": {
"maxLength": 50,
"type": "string",
"description": "Suite or apartment number."
},
"cityAbbreviation": {
"type": "string",
"description": "City Name Abbreviation.",
"readOnly": true
}
},
"additionalProperties": true,
"description": "Address fields standard to all locations."
},
"DomesticAddress": {
"title": "Domestic Address",
"additionalProperties": false,
"description": "Address fields for US locations.",
"allOf": [
{
"$ref": "#/$defs/Address"
},
{
"type": "object",
"properties": {
"city": {
"maxLength": 28,
"minLength": 1,
"type": "string",
"description": "City Name."
},
"state": {
"maxLength": 2,
"minLength": 2,
"pattern": "^(AE|AL|AK|AP|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MP|MT|NE|NV|NH|NJ|NM|NY|NC|ND|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY)$",
"type": "string",
"description": "2-letter USPS state abbreviation."
},
"ZIPCode": {
"pattern": "^\\d{5}$",
"type": "string",
"description": "5-digit ZIP code."
},
"ZIPPlus4": {
"pattern": "^\\d{4}$",
"type": "string",
"description": "ZIP+4 extension."
},
"urbanization": {
"type": "string",
"description": "An area, sector, or residential development within a geographic area (typically used for addresses in Puerto Rico)."
}
},
"additionalProperties": false
}
]
},
"Estimate": {
"title": "Estimate",
"type": "object",
"properties": {
"mailClass": {
"type": "string",
"description": "MailClass from request If left blank in the request then it will return standards for PRIORITY_MAIL_EXPRESS, PRIORITY_MAIL, FIRST_CLASS_PACKAGE_SERVICE, and PACKAGE_SERVICES which covers LIBRARY_MAIL, MEDIA_MAIL, and BOUND_PRINTED_MATTER."
},
"notes": {
"type": "string",
"description": "When a mailClass will be returned with more than one estimate the notes will be returned with information on what differentiates the two estimates.",
"enum": [
"WEIGHT_LESS_THAN_1_POUND",
"WEIGHT_GREATER_THAN_OR_EQUAL_TO_1_POUND"
]
},
"destinationType": {
"type": "string",
"description": "Destination type indicator for non-expedited mailing."
},
"acceptanceDateTime": {
"type": "string",
"description": "The requested acceptance date and time in locale time at the entry location where the mailer intends to enter the pieces into the mail stream.",
"format": "date-time"
},
"effectiveAcceptanceDate": {
"type": "string",
"description": "The effective acceptance date based on the requested acceptance date, time, and the facility cut-off times.",
"format": "date"
},
"cutOffTime": {
"type": "string",
"description": "The latest time packages may be entered at the acceptance location. Packages entered after the cut-off time will have an effective date one day after the requested acceptance date and time."
},
"serviceStandard": {
"maxLength": 2,
"minLength": 2,
"type": "string",
"description": "The service standard expected based on the origin, destination, and mail class."
},
"serviceStandardMessage": {
"type": "string",
"description": "The service standard text corresponding to the code."
},
"acceptanceLocations": {
"$ref": "#/$defs/Facility"
},
"delivery": {
"$ref": "#/$defs/Estimate_delivery"
},
"presort": {
"description": "Indicates whether the service standard information is for Presort mail.",
"type": "boolean"
},
"isPriorityMailNextDay": {
"type": "boolean",
"description": "Indicates if the estimate is for Priority Mail Next Day service."
}
},
"additionalProperties": false,
"description": "Delivery estimate for the unique combination of Mail Class, Destination Type, Acceptance Location, and Delivery Time"
},
"Estimate_delivery": {
"type": "object",
"properties": {
"scheduledDeliveryDateTime": {
"type": "string",
"description": "The estimated delivery date in locale time at the destination.\n\nNote: This field has been deprecated in favor of `expectedDeliveryDateTime` and will be removed in a future release. Please transition to using `expectedDeliveryDateTime`.\n",
"format": "date-time",
"deprecated": true
},
"expectedDeliveryDateTime": {
"type": "string",
"description": "The estimated delivery date in locale time at the destination.",
"format": "date-time"
},
"guaranteedDelivery": {
"type": "boolean",
"description": "If true, the scheduledDeliveryDateTime and expectedDeliveryDateTime are guaranteed."
},
"holdForPickupLocation": {
"$ref": "#/$defs/Facility"
}
},
"additionalProperties": false,
"description": "Section Heading that displays Delivery Date information. For all Mail Classes, occurs once for each HFPU Location. Additionally, for PME Street & PO Box, occurs once for each Customer Delivery Option."
},
"Facility": {
"title": "Facility",
"additionalProperties": false,
"description": "This is USPS® facility information.",
"allOf": [
{
"$ref": "#/$defs/DomesticAddress"
},
{
"type": "object",
"properties": {
"facilityName": {
"type": "string",
"description": "This is the facility's name."
},
"facilityType": {
"type": "string",
"description": "This is the type of facility at the location.",
"enum": [
"POST_OFFICE",
"EXPRESS_MAIL_COLLECTION_BOX",
"AIR_MAIL_FACILITY",
"CONTRACT_POSTAL_UNIT"
]
},
"closes": {
"$ref": "#/$defs/FacilityCloseTimes"
}
},
"additionalProperties": false
}
]
},
"FacilityCloseTimes": {
"title": "Facility Closure Times",
"type": "object",
"properties": {
"Monday": {
"maxLength": 4,
"minLength": 4,
"type": "string",
"description": "Time the location closes on Monday in HHmm."
},
"Tuesday": {
"maxLength": 4,
"minLength": 4,
"type": "string",
"description": "Time the location closes on Tuesday in HHmm."
},
"Wednesday": {
"maxLength": 4,
"minLength": 4,
"type": "string",
"description": "Time the location closes on Wednesday in HHmm."
},
"Thursday": {
"maxLength": 4,
"minLength": 4,
"type": "string",
"description": "Time the location closes on Thursday in HHmm."
},
"Friday": {
"maxLength": 4,
"minLength": 4,
"type": "string",
"description": "Time the location closes on Friday in HHmm."
},
"Saturday": {
"maxLength": 4,
"minLength": 4,
"type": "string",
"description": "Time the location closes on Saturday in HHmm."
},
"Sunday": {
"maxLength": 4,
"minLength": 4,
"type": "string",
"description": "Time the location closes on Sunday in HHmm."
},
"holidays": {
"maxLength": 4,
"minLength": 4,
"type": "string",
"description": "Time the location closes on Holidays in HHmm."
}
},
"additionalProperties": false,
"description": "The time that the facility closes for each day, including holidays."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/usps-estimates"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.