{"id":377567,"date":"2026-09-29T20:53:47","date_gmt":"2026-09-29T20:53:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/beacon-usps-rates\/"},"modified":"2026-09-29T20:53:40","modified_gmt":"2026-09-29T20:53:40","slug":"beacon-shipping-rates-for-usps","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/beacon-shipping-rates-for-usps\/","author":23573100,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.4","stable_tag":"0.1.4","tested":"7.1.2","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Beacon Shipping Rates for USPS","header_author":"Beacon Events","header_description":"Live USPS shipping rates at checkout that keep working: guided USPS API setup, cached rates that respect the USPS hourly quota, and a fallback so checkout never breaks. Domestic and international, all free.","assets_banners_color":"5a657d","last_updated":"2026-09-29 20:53:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/beacon-shipping-rates-for-usps\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":47,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.4":{"tag":"0.1.4","author":"beaconevents","date":"2026-09-29 20:53:40","revision":3719828}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3719829,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3719829,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3719829,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3719829,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3719829,"resolution":"1","location":"assets","locale":"","width":1600,"height":1687},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3719829,"resolution":"2","location":"assets","locale":"","width":1600,"height":796}},"screenshots":{"1":"Guided setup: create your USPS API app and paste the keys.","2":"Test the connection and get a real USPS rate before you touch a shipping zone."}},"plugin_section":[],"plugin_tags":[169655,3546,5139,3519,5023],"plugin_category":[45],"plugin_contributors":[282603],"plugin_business_model":[],"class_list":["post-377567","plugin","type-plugin","status-publish","hentry","plugin_tags-live-shipping-rates","plugin_tags-shipping","plugin_tags-shipping-rates","plugin_tags-usps","plugin_tags-woocommerce-shipping","plugin_category-ecommerce","plugin_contributors-beaconevents","plugin_committers-beaconevents"],"banners":{"banner":"https:\/\/ps.w.org\/beacon-shipping-rates-for-usps\/assets\/banner-772x250.png?rev=3719829","banner_2x":"https:\/\/ps.w.org\/beacon-shipping-rates-for-usps\/assets\/banner-1544x500.png?rev=3719829","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/beacon-shipping-rates-for-usps\/assets\/icon-128x128.png?rev=3719829","icon_2x":"https:\/\/ps.w.org\/beacon-shipping-rates-for-usps\/assets\/icon-256x256.png?rev=3719829","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/beacon-shipping-rates-for-usps\/assets\/screenshot-1.png?rev=3719829","caption":"Guided setup: create your USPS API app and paste the keys."},{"src":"https:\/\/ps.w.org\/beacon-shipping-rates-for-usps\/assets\/screenshot-2.png?rev=3719829","caption":"Test the connection and get a real USPS rate before you touch a shipping zone."}],"raw_content":"<!--section=description-->\n<p>USPS retired its old Web Tools API and moved to the new USPS APIs. Beacon Shipping Rates for USPS is built for the new API from the start \u2014 with the two things store owners kept asking for: a setup that doesn't take an afternoon, and rates that don't disappear when USPS has a bad hour.<\/p>\n\n<p><strong>What you get, free:<\/strong><\/p>\n\n<ul>\n<li><strong>Live USPS rates at checkout<\/strong> for Ground Advantage, Priority Mail, Priority Mail Express and Media Mail, plus First-Class Package International, Priority Mail International and Priority Mail Express International.<\/li>\n<li><strong>A guided setup page<\/strong> (WooCommerce \u2192 USPS Rates) that walks you through getting USPS API keys in about 15 minutes, tests the connection, and fetches a real rate before you touch a shipping zone. Every USPS error is translated into what to actually do.<\/li>\n<li><strong>Rates that survive the USPS quota.<\/strong> USPS allows 60 calls per hour by default. Identical packages are served from cache, the plugin stops calling USPS just below the limit, and a stale copy is kept for a week for when USPS is down.<\/li>\n<li><strong>A fallback rate<\/strong> so an outage at USPS never shows customers an empty shipping list.<\/li>\n<li><strong>Sane packing:<\/strong> one box per order, per product line or per item, with automatic unit conversion and the 70 lb USPS limit respected.<\/li>\n<li><strong>Handling markup<\/strong> (fixed or percent), custom method title, Retail or Commercial pricing.<\/li>\n<li>Works with shipping zones, the block cart and checkout, and High-Performance Order Storage. Uninstalls clean.<\/li>\n<\/ul>\n\n<p>You use your <strong>own<\/strong> USPS API keys \u2014 nothing is proxied through anyone's server and there is no per-request fee.<\/p>\n\n<p><strong>Pro<\/strong> (sold separately): box packing against your real boxes, per-service rules (markup, hide, free over, min\/max), per-product service restrictions, flat-rate boxes, and delivery-date estimates at checkout. Nothing in the free plugin moves behind the paywall.<\/p>\n\n<p>Beacon Shipping Rates for USPS is an independent plugin by Beacon Events. It is not affiliated with, endorsed or sponsored by the United States Postal Service. USPS, Priority Mail, Priority Mail Express, USPS Ground Advantage and Media Mail are trademarks of the United States Postal Service.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>USPS APIs<\/strong> (operated by the United States Postal Service) to get shipping rates. It is needed to show live USPS prices at checkout.<\/p>\n\n<ul>\n<li><strong>When:<\/strong> when a customer's cart needs a shipping quote at cart or checkout (unless a cached rate is used), and when a store admin clicks \"Test connection\" or \"Get rates\" on the setup page.<\/li>\n<li><strong>What is sent:<\/strong> to <code>https:\/\/apis.usps.com\/oauth2\/v3\/token<\/code> \u2014 the store's own USPS Consumer Key and Secret, to obtain an access token. To <code>https:\/\/apis.usps.com\/prices\/v3\/total-rates\/search<\/code> and <code>https:\/\/apis.usps.com\/international-prices\/v3\/total-rates\/search<\/code> \u2014 the origin ZIP code, the destination ZIP or postal code and country, and package weight and dimensions. No customer names, street addresses, emails or order details are sent.<\/li>\n<li>If the \"USPS test environment\" option is enabled, the same requests go to <code>https:\/\/apis-tem.usps.com<\/code> instead.<\/li>\n<li>USPS terms of use: https:\/\/about.usps.com\/who\/legal\/terms-of-use.htm<\/li>\n<li>USPS privacy policy: https:\/\/about.usps.com\/who\/legal\/privacy-policy\/welcome.htm<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin (WooCommerce must be active).<\/li>\n<li>Go to <strong>WooCommerce \u2192 USPS Rates<\/strong> and follow steps 1\u20134: create a free app in the USPS Developer Portal, paste the Consumer Key and Secret, test the connection, fetch a test rate.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Shipping<\/strong>, open a zone, add the <strong>USPS (Beacon)<\/strong> method and pick your services.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20usps%20business%20or%20shipping%20account%3F\"><h3>Do I need a USPS business or shipping account?<\/h3><\/dt>\n<dd><p>For rates you only need a free USPS Developer Portal app. Retail prices need nothing more. Commercial prices apply if you have a USPS commercial pricing agreement.<\/p><\/dd>\n<dt id=\"why%20are%20the%20rates%20different%20from%20usps.com%3F\"><h3>Why are the rates different from usps.com?<\/h3><\/dt>\n<dd><p>usps.com shows Retail prices by default; if your store is set to Commercial you'll see commercial prices, and vice versa. Change it on the setup page.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20usps%20is%20down%20or%20my%20hourly%20quota%20runs%20out%3F\"><h3>What happens when USPS is down or my hourly quota runs out?<\/h3><\/dt>\n<dd><p>Cached rates are used first (fresh for the cache period, stale for a week), then the fallback rate you set in the method. Customers never see an empty shipping list unless you turn the fallback off.<\/p><\/dd>\n<dt id=\"how%20do%20i%20raise%20the%20usps%20quota%3F\"><h3>How do I raise the USPS quota?<\/h3><\/dt>\n<dd><p>Submit a service request on the USPS Developer Portal \"Email Us\" page. Then raise the hourly ceiling on the setup page to match.<\/p><\/dd>\n<dt id=\"does%20it%20print%20labels%3F\"><h3>Does it print labels?<\/h3><\/dt>\n<dd><p>No. It quotes rates. Use your usual label tool.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20block%20checkout%3F\"><h3>Does it work with the block checkout?<\/h3><\/dt>\n<dd><p>Yes, and with the classic checkout.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Fix: the setup page rate test now names Library Mail and Media Mail (USPS returns them without a product name).<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>First release: live domestic and international USPS rates, guided setup with connection and rate tests, rate cache + hourly quota guard, fallback rate, packing strategies, handling markup, Media Mail eligibility by shipping class, tax status, handling time, copy-diagnostics, extension hooks for the Pro add-on.<\/li>\n<\/ul>","raw_excerpt":"Live USPS rates at checkout that keep working: guided API setup, cached rates that respect the USPS quota, and a fallback so checkout never breaks.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/377567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=377567"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/beaconevents"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=377567"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=377567"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=377567"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=377567"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=377567"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=377567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}