World Data API for E-commerce

"Arrives by Tuesday" is a promise you need to keep#

Your checkout page shows "Arrives by Tuesday." The customer places the order. The package arrives Thursday. You've just created a disappointed customer, a potential return, and a trust problem.

Estimated Delivery Date (EDD) is one of the highest-impact elements in e-commerce conversion. Amazon has trained everyone to expect accurate delivery promises. When your estimate is wrong, it doesn't matter whose fault it is—the carrier, the weather, customs—the customer blames you.

Getting EDD right sounds simple: order date plus processing time plus transit days. But "transit days" means business days, and business days require knowing which days the carrier actually delivers. That's where it gets complicated.

The holiday problem in delivery estimation#

USPS doesn't deliver on federal holidays. That's 11 days per year where your "3-day shipping" calculation is wrong if you don't account for them.

But wait—UPS and FedEx have different holiday schedules. UPS observes 8 holidays; FedEx Ground observes 9. DHL has international schedules that vary by country. If you're offering multiple shipping options with different carriers, each one has a different calendar.

And that's just the US.

If you ship internationally, the destination country's holidays matter for the final delivery leg. A package arriving in Germany the week before Christmas might clear customs quickly or might sit there while everyone's on holiday. A shipment to China during Chinese New Year? Plan for delays.

Here's a specific example of how this breaks:

Order placed: Friday, May 23rd, 2025, at 4 PM Shipping method: 3-day USPS Priority Naive calculation: Friday + 3 days = Monday

Actual calculation:

  • Friday at 4 PM is after the 2 PM cut-off, so it ships Monday

  • Monday is Memorial Day—USPS holiday, no shipping

  • Ships Tuesday, Day 1 is Wednesday, Day 2 is Thursday, Day 3 is Friday

  • Actual delivery: Friday, May 30th

The naive calculation promised Monday the 26th. Actual delivery is Friday the 30th. That's a 4-day gap between promise and reality—enough to damage customer trust, especially if they needed the item by a certain date.

Why e-commerce platforms struggle with this#

Most e-commerce platforms handle delivery estimation in one of these ways:

Ignore holidays entirely. Just add transit days to the ship date and hope for the best. This is surprisingly common, especially for smaller stores. It works most of the time, fails during holiday seasons when accuracy matters most.

Hardcode major holidays. Someone maintains a list of Christmas, Thanksgiving, New Year's, and maybe Memorial Day and Labor Day. It doesn't get updated when new holidays are added (Juneteenth became a federal holiday in 2021). It doesn't account for the fact that UPS delivers on some holidays that USPS doesn't. It definitely doesn't handle international shipping.

Use carrier APIs. Better, but carrier APIs are designed for tracking, not for future date calculations. Getting "this package will arrive by X" requires translating their transit time estimates into actual calendar dates, which still requires knowing their holiday schedules.

Rely on shipping apps. Shopify apps, BigCommerce plugins, etc. Some of these are good. Many are not. The quality varies wildly, and you're trusting someone else's holiday data maintenance.

None of these approaches handle the cross-border case well. If you're shipping from the US to Germany, you need to account for US holidays (when the package ships), German holidays (when it arrives), and potentially holidays in transit countries. Most solutions don't even try.

What accurate delivery estimation requires#

Let's be specific about the data and calculations involved:

Holiday calendars by country#

You need to know which days carriers don't operate in each country you ship from and to. This isn't "public holidays" generically—it's specifically the days that affect shipping and delivery.

In the US, that's the 11 federal holidays for USPS. For UPS and FedEx, it's a slightly different list. For international destinations, it's their postal holidays, which don't always align with public holidays.

Business day arithmetic#

Given a date and a number of transit days, what's the delivery date? This requires:

  • Knowing which days are weekends in the relevant country (not always Saturday-Sunday)

  • Knowing which days are carrier holidays

  • Handling cut-off times (orders after 2 PM ship the next business day)

  • Accounting for processing time before the item even ships

The actual calculation is: (order date adjusted for cut-off) + (processing days in origin business days) + (transit days in destination business days) = delivery date.

Multi-country support#

If you ship internationally, you need this data for every country in your shipping zones. A US-to-UK shipment needs US holidays for the origin and UK holidays for the destination. US-to-Germany needs German holidays. And so on.

The "WISMO" problem#

"Where Is My Order?"—WISMO—is one of the most common customer service inquiries in e-commerce. It's expensive to handle (customer service time, ticket volume) and damaging to customer experience.

Accurate delivery estimates reduce WISMO. If you tell customers "Friday" and it arrives Friday, they don't need to ask where it is. If you tell them "Monday" and it's Thursday with no package, they're calling.

The ROI on accurate EDD isn't just customer satisfaction—it's reduced customer service costs. Every inquiry you prevent by giving an accurate estimate upfront is time and money saved.

Peak season is when this matters most#

The worst time to have bad delivery estimates is November and December—exactly when shipping volumes spike and holiday schedules are most complex.

Thanksgiving week alone is a minefield:

  • Wednesday before Thanksgiving: High shipping volume, carriers running full

  • Thursday: Thanksgiving—most carriers closed

  • Friday: Some carriers deliver, some don't

  • Saturday and Sunday: Normal weekend rules, but volumes are high

  • Following Monday: Normal, but backlogs from the holiday

A package shipped Tuesday before Thanksgiving with "3-day shipping" might not arrive until the following Monday. Your checkout needs to know this.

Christmas is worse. Many carriers announce service delays or guarantee suspensions during peak season. The published transit times become estimates, not commitments. Your EDD needs to reflect this reality.

If your holiday calendar is hardcoded and hasn't been updated since 2022, you're going into peak season with bad data. You'll discover this when customers start complaining about late deliveries.

What we provide#

We built World Data API to provide the reference data that delivery estimation requires:

Holiday calendars for 230+ countries. The days that affect shipping and delivery, not just "public holidays." Updated annually and when changes are announced.

Business day calculations. Add N business days to a date, accounting for holidays. Subtract N business days. Count business days between two dates. The arithmetic that delivery estimation requires, built in.

Weekend rules by country. Most countries are Saturday-Sunday weekends. Some aren't. Israel is Friday-Saturday. UAE moved to Saturday-Sunday in 2022 but used to be Friday-Saturday. We track these variations.

What we don't provide#

We're a reference data API, not a shipping platform. There are things outside our scope:

Carrier-specific schedules. We provide country-level public and banking holidays. UPS, FedEx, and DHL each have their own variations we don't track. If you need carrier-specific precision, you'll need to overlay our data with carrier-specific exceptions.

Half-day handling. Days like the day after Thanksgiving, when some carriers close early, are treated as full business days in our calculations. If you need half-day precision, handle those cases in your application logic.

Real-time transit updates. We calculate what the delivery date should be based on transit times and holidays. We can't tell you if a specific package is delayed. That's what carrier tracking APIs are for.

Service suspensions. During peak season, carriers sometimes suspend delivery guarantees or add days to published transit times. We don't have real-time information about these operational changes.

Customs delays. International shipping involves customs clearance. We can tell you about holidays that might affect customs offices, but we can't predict actual clearance times. Cross-border shipping has inherent variability.

We think it's important to be clear about these boundaries. Delivery estimation is complex; we're providing one piece of the puzzle (holiday and business day data), not a complete EDD solution.

How this fits into your stack#

Typical delivery estimation architecture:

  1. Shipping rate API (Shippo, EasyPost, ShipEngine, etc.) tells you transit times for different carriers and service levels

  2. Holiday/business day API (us) provides the calendar data to convert transit times into actual dates

  3. Your logic handles cut-off times, processing delays, warehouse schedules, and any business rules specific to your operation

The shipping rate API tells you "USPS Priority is 2-3 business days." We tell you which days count as business days. You combine these to show "Arrives Friday" in your checkout.

We're not replacing your shipping integration—we're complementing it with the calendar data that shipping APIs often don't provide well.

On accuracy#

Wrong delivery estimates cost real money: customer service inquiries, return shipping, chargebacks, lost repeat business. Accuracy matters.

We maintain holiday data from official sources—postal service announcements, government publications, carrier documentation. We update annually and when mid-year changes are announced.

We're not perfect. Edge cases exist:

  • Carrier-specific exceptions we don't track

  • Last-minute holiday announcements (rare, but they happen)

  • Regional variations within countries that we don't cover at the postal district level

For most e-commerce use cases, our data provides a significant improvement over hardcoded lists or no holiday handling at all. For carrier-specific precision, you may need to supplement with carrier data.

Who this is for#

You're running an e-commerce store, building a shipping estimation feature, or developing a logistics platform. You need to show customers "Arrives by X" and you need X to be accurate.

You've been ignoring holidays in your estimates and getting complaints during holiday seasons. Or you've been maintaining a hardcoded list that's drifted out of date. Or you're expanding internationally and realizing your US-centric calendar doesn't work anymore.

You want delivery estimates that are right, and you don't want to maintain holiday calendars yourself.

Getting started#

The API is REST-based, returns JSON, and authenticates via the X-API-Key header.

Holiday data is available on the free tier—60 requests per day. Business day calculations are a premium endpoint requiring a paid tier.

Paid tiers: Starter at $9/month (15,000 requests), Pro at $49/month (100,000 requests), Growth at $149/month (500,000 requests). Annual billing saves about 25%.

Sign up at worlddataapi.com/dashboard to get an API key. Documentation is at worlddataapi.com/docs. We have guides for e-commerce use cases: