Title: Dependent Media Live Rates for USPS
Author: Joshua Jordan
Published: <strong>April 30, 2026</strong>
Last modified: April 30, 2026

---

Search plugins

![](https://ps.w.org/dependent-media-live-rates-for-usps/assets/banner-772x250.jpg?
rev=3519931)

![](https://ps.w.org/dependent-media-live-rates-for-usps/assets/icon-256x256.png?
rev=3519931)

# Dependent Media Live Rates for USPS

 By [Joshua Jordan](https://profiles.wordpress.org/hsojhsoj/)

[Download](https://downloads.wordpress.org/plugin/dependent-media-live-rates-for-usps.1.1.0.zip)

 * [Details](https://wordpress.org/plugins/dependent-media-live-rates-for-usps/#description)
 * [Reviews](https://wordpress.org/plugins/dependent-media-live-rates-for-usps/#reviews)
 *  [Installation](https://wordpress.org/plugins/dependent-media-live-rates-for-usps/#installation)
 * [Development](https://wordpress.org/plugins/dependent-media-live-rates-for-usps/#developers)

 [Support](https://wordpress.org/support/plugin/dependent-media-live-rates-for-usps/)

## Description

Dependent Media Live Rates for USPS calculates real-time USPS shipping rates at 
checkout using your own USPS Developer Portal credentials, by talking directly to
the USPS REST API (the current API — not the retired Web Tools API).

This plugin is **not affiliated with or endorsed by the United States Postal Service**.“
USPS” is a trademark of the United States Postal Service and is used in this plugin’s
name solely to describe the service the plugin integrates with.

#### Domestic US

 * USPS Ground Advantage
 * USPS Priority Mail
 * USPS Priority Mail Express

#### International

 * USPS First-Class Package International
 * USPS Priority Mail International
 * USPS Priority Mail Express International

#### Other features

 * Per-product weight and dimensions, with configurable defaults for products that
   have none set
 * Separate domestic and international service toggles — enable only what you want
   to offer
 * Automatic routing: the plugin detects destination country and hits the right 
   USPS endpoint
 * **Multi-box packing** by default — each cart line item is rated as its own package
   and costs are summed. Heavy lines are automatically split across multiple boxes
   to stay within USPS weight caps. A “combined” mode is also available for stores
   that genuinely ship everything in one box.
 * Only services that price every box are offered — partial coverage would produce
   a misleading total
 * Optional fallback flat rate if the USPS API is unreachable
 * Debug logging via WooCommerce  Status  Logs

#### You bring your own USPS API credentials

This plugin does not proxy rate requests through any third party. You register your
store as a USPS Developer Portal application once, paste the Consumer Key and Consumer
Secret into the plugin settings, and rates go directly from USPS to your site. There
is no monthly fee and no per-request cost.

Register at: [https://developers.usps.com/](https://developers.usps.com/)

#### Privacy

When a customer reaches checkout, the plugin sends the destination postal code (
and country, for international) along with the package dimensions and weight to 
the USPS REST API at `apis.usps.com`. No customer name, email, or other personally
identifying information is transmitted. OAuth2 access tokens are cached locally 
in a WordPress transient.

#### Source code

Development happens on GitHub: [https://github.com/Dependent-Media/dm-usps-shipping](https://github.com/Dependent-Media/dm-usps-shipping).
Issues and pull requests welcome.

### External services

This plugin connects to the USPS (United States Postal Service) REST API to obtain
live shipping rates at WooCommerce checkout. This is the entire purpose of the plugin:
without this connection, no rates can be calculated.

**What is the service?** The USPS REST API at `https://apis.usps.com`, operated 
by the United States Postal Service. The plugin uses two endpoints:

 * `POST /oauth2/v3/token` — to obtain an OAuth2 access token using the merchant’s
   USPS Developer Portal Consumer Key and Consumer Secret.
 * `POST /prices/v3/total-rates/search` and `POST /international-prices/v3/total-
   rates/search` — to obtain shipping rates for a given package.

**What data is sent, and when?**

 * When a customer reaches the WooCommerce shipping calculation step (typically 
   the Cart or Checkout page), the plugin sends, for each package being rated: the
   origin ZIP code (configured by the merchant), the destination postal code, the
   destination country, and the package weight, length, width, and height.
 * When the plugin needs to authenticate to the USPS API (the first time, and again
   when the cached token has expired), it sends the merchant’s USPS Consumer Key
   and Consumer Secret to the OAuth2 token endpoint.
 * No customer name, email address, IP address, or other personally identifying 
   information is transmitted to USPS by this plugin.

**Who provides the service?** The United States Postal Service.

 * USPS Developer Portal Terms and Conditions: [https://developers.usps.com/terms-and-conditions](https://developers.usps.com/terms-and-conditions)
 * USPS Privacy Policy: [https://www.usps.com/privacypolicy/](https://www.usps.com/privacypolicy/)

**Is the use of this service required?** Yes. Calculating live USPS rates is the
plugin’s only function, and it cannot be performed without contacting the USPS REST
API. Merchants who do not wish to use this service should not install or activate
this plugin.

## Installation

 1. Upload the plugin files to `/wp-content/plugins/dependent-media-live-rates-for-
    usps/`, or install through the WordPress plugins screen.
 2. Activate the plugin through the **Plugins** screen in WordPress.
 3. Register a USPS Developer Portal application at [https://developers.usps.com/](https://developers.usps.com/)
    and copy the Consumer Key and Consumer Secret.
 4. Go to **WooCommerce  Settings  Shipping**, open the shipping zone you want to offer
    USPS rates in, and add **USPS Live Rates (DM)** as a shipping method.
 5. Click into the method, paste your Consumer Key and Consumer Secret, pick which 
    services to offer, and save.
 6. Test with a real cart to confirm rates are returned.

## FAQ

### Does this work with the old USPS Web Tools API?

No. The USPS Web Tools API was retired in early 2026. This plugin uses the current
USPS REST API (`apis.usps.com`) exclusively.

### Is there a monthly fee?

No. The plugin is free and calls the USPS API directly with your own credentials.
USPS does not charge for rate lookups on their Developer Portal at the time of writing.

### What happens if the USPS API is down?

If you enable the fallback rate in settings, the plugin will show that flat rate
when the API is unreachable or returns an error. If the fallback is disabled, no
rate will be shown and the customer will see WooCommerce’s standard “no shipping
options” message.

### Does this support international rates?

Yes. First-Class Package International, Priority Mail International, and Priority
Mail Express International are all supported. The plugin automatically routes to
the correct USPS endpoint based on the destination country.

### Does this support shipping labels?

No. This plugin only calculates rates at checkout. It does not generate or purchase
labels. You can continue to use whatever label service you prefer (PirateShip, Stamps.
com, ShipStation, USPS Click-N-Ship, etc.).

### How does multi-box packing work?

By default, each cart line item is sent to USPS as its own package and the per-service
costs are summed. For example, a cart with three different products gets three separate
USPS rate quotes for each enabled service, then totals them. If a single line item
is heavy enough that one box would exceed USPS’s weight limit, the plugin splits
that line into multiple boxes automatically. You can switch to a “combined” single-
box mode in settings if your store genuinely ships everything in one box.

### How are flat-rate-box prices handled?

They aren’t shown. The plugin only considers true dimensional rates (USPS rate indicators`
SP`, `PA`, `DR`, `DN`) — these reflect the actual cost of shipping a box of the 
cart’s dimensions. Flat-rate-box, cubic, and presort rates are excluded because 
they require specific packaging or mailing agreements that the plugin can’t guarantee
the merchant will use.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Dependent Media Live Rates for USPS” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Joshua Jordan ](https://profiles.wordpress.org/hsojhsoj/)

[Translate “Dependent Media Live Rates for USPS” into your language.](https://translate.wordpress.org/projects/wp-plugins/dependent-media-live-rates-for-usps)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/dependent-media-live-rates-for-usps/),
check out the [SVN repository](https://plugins.svn.wordpress.org/dependent-media-live-rates-for-usps/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/dependent-media-live-rates-for-usps/)
by [RSS](https://plugins.trac.wordpress.org/log/dependent-media-live-rates-for-usps/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0

 * Renamed the plugin to “Dependent Media Live Rates for USPS” and updated the slug/
   text domain accordingly, in response to WordPress.org Plugin Directory naming
   guidance.
 * Added an “External services” section to the readme, formally documenting the 
   USPS REST API integration (data sent, when, and links to USPS Terms of Use and
   Privacy Policy).
 * Added the plugin owner (`hsojhsoj`) to the readme `Contributors` field.
 * No functional code changes — the WooCommerce shipping method ID, settings keys,
   and OAuth token transient are unchanged, so existing installations carry their
   configuration forward.

#### 1.0.1

 * Corrected the `Plugin URI` header so the source-code link in the plugin headers
   resolves (the original 1.0.0 build pointed at a GitHub URL with the wrong casing).
   No functional changes.

#### 1.0.0

 * First public release on WordPress.org. Functionally equivalent to the prerelease
   0.3 series. Adds the `Requires Plugins: woocommerce` header and tightens internationalization
   on internal error messages.

#### 0.3.0

 * Added multi-box packing. Each cart line item is now rated as its own package 
   by default, and the per-service costs are summed. Heavy lines are automatically
   split across multiple boxes to stay within USPS weight caps.
 * Cart-wide service rates are filtered to only show services that priced every 
   box (no more partial-coverage rates).
 * New “Packing strategy” setting: “One box per cart line item” (default, recommended)
   or “Combined into a single virtual box” (legacy v0.2 behavior).
 * Multi-box rates are labeled with “(N packages)” in checkout for transparency.

#### 0.2.0

 * Added international shipping rates (First-Class Package International, Priority
   Mail International, Priority Mail Express International).
 * The plugin now auto-detects destination country and routes to the appropriate
   USPS endpoint.
 * Separate settings for which domestic vs international services to offer.

#### 0.1.0

 * Initial release. Domestic US rates for Priority Mail, Priority Mail Express, 
   and Ground Advantage.

## Meta

 *  Version **1.1.0**
 *  Last updated **5 months ago**
 *  Active installations **70+**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **6.9.9**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [live rates](https://wordpress.org/plugins/tags/live-rates/)[shipping](https://wordpress.org/plugins/tags/shipping/)
   [shipping rates](https://wordpress.org/plugins/tags/shipping-rates/)[usps](https://wordpress.org/plugins/tags/usps/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/dependent-media-live-rates-for-usps/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/dependent-media-live-rates-for-usps/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/dependent-media-live-rates-for-usps/reviews/)

## Contributors

 *   [ Joshua Jordan ](https://profiles.wordpress.org/hsojhsoj/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/dependent-media-live-rates-for-usps/)