# GET /business-hours: $0.001 per call

Is a business open now (or at a given time), and when does it next open or close? Give its time zone, opening hours and days; add country= to count public holidays as closed. Pass ?zone=Europe/London&open=09:00&close=17:30&days=mon-fri&country=GB. Returns local time, open or closed, why, and the next change with minutes to go.

- **Price:** $0.001 in USDC, the same on Base, Solana, Polygon, Arbitrum. Failed calls are never charged.
- **Free trial:** yes, 20 free calls a day from Claude, Cursor or any MCP client ([set-up](/mcp/setup)).
- **Answers cached for:** not cached
- **Data sources:** computed locally (IANA tzdata; holidays from /holidays when country= is given)
- **Lane:** Time, holidays & weather ([OpenAPI](/openapi/world.json))
- **Live health:** [status page](/status)

## Free sample

See an answer for the demo input first, free (no payment, 10 a minute): [https://aayatai.com/sample/business-hours](/sample/business-hours). It is a stored real answer when we have one, otherwise an example marked `"kind": "illustrative"`.

```bash
curl "https://aayatai.com/sample/business-hours"
```

## 1. See the price (free)

Call it without paying: you get `402 Payment Required` and a `PAYMENT-REQUIRED` header with the exact price and where to pay.

```bash
curl -i "https://aayatai.com/business-hours?zone=Europe%2FLondon&open=09%3A00&close=17%3A30&days=mon-fri&at=2026-10-01T07%3A30%3A00Z"
```

## 2. Pay and call (TypeScript)

```bash
npm install @x402/fetch @x402/evm viem
```

```ts
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

// A wallet used only by your agent, holding a little USDC on Base.
const account = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY as `0x${string}`);
const pay = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],
});

const res = await pay("https://aayatai.com/business-hours?zone=Europe%2FLondon&open=09%3A00&close=17%3A30&days=mon-fri&at=2026-10-01T07%3A30%3A00Z");
console.log(await res.json());
```

## 3. Or as an MCP tool

```ts
// MCP server: https://aayatai.com/mcp (Streamable HTTP). With the x402 MCP client (see /start):
const result = await client.callTool("business-hours", {"zone":"Europe/London","open":"09:00","close":"17:30","days":"mon-fri","at":"2026-10-01T07:30:00Z"});
```

## Inputs

- `zone` **(required)** (string): The business's time zone: IANA name or big city, e.g. Europe/London, New York.
- `open` (string; default `09:00`): Opening time, 24-hour HH:MM.
- `close` (string; default `17:00`): Closing time, 24-hour HH:MM (after open; 24:00 for midnight).
- `days` (string; default `mon-fri`): Open days: a range (mon-fri), a list (mon,wed,fri) or mixed (mon-thu,sat).
- `at` (string): Moment to check, ISO 8601 with offset (e.g. 2026-10-01T08:30:00Z); default now.
- `country` (string): Optional ISO country code (GB, US, DE...): public holidays there count as closed.
- `region` (string): Optional ISO 3166-2 region for regional holidays, e.g. GB-SCT, DE-BY.

Bad inputs are rejected with HTTP 400 before any payment is asked for.

## Example answer

Example only: the shape of an answer, with placeholder addresses and made-up figures. It is not data about any real token or wallet; call the service (or its free sample) for real results.

```json
{
  "zone": "Europe/London",
  "localTime": "2026-10-01T08:30:00+01:00",
  "weekday": "Thursday",
  "isOpen": false,
  "reason": "before opening time",
  "hoursToday": "09:00–17:30",
  "nextChange": {
    "event": "opens",
    "at": "2026-10-01T09:00:00+01:00",
    "minutes": 30
  },
  "holiday": null,
  "note": "Holidays are not checked; pass country= to count public holidays as closed."
}
```

## Related

- [GET /time/convert](/services/time-convert) ($0.001): Convert a date and time between time zones, daylight saving handled.
- [GET /holidays](/services/holidays) ($0.002): Public holidays for 38 countries (most of Europe, UK by nation, US federal, Brazil, Mexico, South Africa) with regional holidays (e.g.
- [GET /weather](/services/weather) ($0.002): Weather now and forecast for any latitude/longitude on Earth: temperature, feels-like, wind, humidity, cloud, pressure, rain next hour, the next 12 hours, and d
- [GET /postcode/lookup](/services/postcode-lookup) ($0.001): Postal code to place name, region and latitude/longitude in about 60 countries (US ZIP codes, UK postcodes, Canada, Germany, France, India, Japan, Australia...)
- [GET /airport/status](/services/airport-status) ($0.002): Live US airport delays from the FAA: ground delay programs (average and maximum delay), ground stops, arrival and departure delays with trend, and closures, wit
- [GET /earthquakes](/services/earthquakes) ($0.002): Recent earthquakes near any point on Earth from the US Geological Survey: magnitude, place, time, depth, felt reports, tsunami flag and a link, newest first.

New here? [Getting started in 60 seconds](/start). All services: [Aayat AI](/).