# Recurrence Rules (RRULE) Expand, parse, build and describe iCalendar RRULE recurrences, plus weekday and business-day patterns. ## How to pay Machine-payable over x402. USDC on: Base (eip155:8453), Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp), Polygon (eip155:137), Arbitrum One (eip155:42161). No accounts. No API keys. No signup. The paying wallet is the account. ## Machine-readable - OpenAPI: https://recurrence-rules.x402tookit.com/openapi.json - x402 manifest: https://recurrence-rules.x402tookit.com/.well-known/x402 - Catalog (free): https://recurrence-rules.x402tookit.com/catalog - Health (free): https://recurrence-rules.x402tookit.com/health - Uptime (free): https://recurrence-rules.x402tookit.com/uptime ## Endpoints (8) ### GET /business-recurrence — $0.03 Dates for every N business days, or the last or Nth business day of each month, skipping weekends and your holiday list. Params: mode: string, start: string, n?: integer, count?: integer, holidays?: string, weekend?: string Example: https://recurrence-rules.x402tookit.com/business-recurrence?mode=last-business-day-of-month&start=2026-01-01&count=6&holidays=2026-03-31 ### GET /next-occurrence — $0.02 First occurrence of an iCalendar RRULE strictly after a given date-time, honoring EXDATE and a fixed UTC offset. Params: rrule: string, dtstart: string, after: string, offsetMinutes?: integer, exdate?: string Example: https://recurrence-rules.x402tookit.com/next-occurrence?rrule=FREQ%3DMONTHLY%3BBYDAY%3D2TU&dtstart=2027-01-12T09%3A00%3A00&after=2027-03-20T00%3A00%3A00 ### GET /nth-weekday-of-month — $0.02 Dates of the Nth weekday (or last) of each month in a year, e.g. second Tuesday of 2027; months without one are listed. Params: weekday: string, nth: integer, year: integer, month?: integer Example: https://recurrence-rules.x402tookit.com/nth-weekday-of-month?weekday=Tuesday&nth=2&year=2027 ### GET /occurrences-between — $0.02 List every occurrence of an iCalendar RRULE inside a date range (from and to inclusive), capped at 366 per call. Params: rrule: string, dtstart: string, from: string, to: string, limit?: integer, offsetMinutes?: integer, exdate?: string Example: https://recurrence-rules.x402tookit.com/occurrences-between?rrule=FREQ%3DWEEKLY%3BBYDAY%3DMO&dtstart=2026-01-05T08%3A00%3A00&from=2026-02-01&to=2026-02-28 ### GET /rrule-build — $0.02 Build a validated RRULE string from fields (freq, interval, byday, bymonthday, bysetpos, count or until) with a check. Params: freq: string, interval?: integer, count?: integer, until?: string, byday?: string, bymonth?: string, bymonthday?: string, byyearday?: string, byweekno?: string, bysetpos?: string, wkst?: string Example: https://recurrence-rules.x402tookit.com/rrule-build?freq=MONTHLY&byday=-1FR&count=12 ### GET /rrule-describe — $0.02 Turn an iCalendar RRULE into one plain English sentence (every other week on Tuesday and Thursday, 8 times). Params: rrule: string, dtstart?: string Example: https://recurrence-rules.x402tookit.com/rrule-describe?rrule=FREQ%3DMONTHLY%3BBYDAY%3DTU%2CWE%2CTH%3BBYSETPOS%3D-1%3BCOUNT%3D6&dtstart=2026-01-29T09%3A00%3A00 ### GET /rrule-expand — $0.03 Expand an iCalendar RRULE from DTSTART into the next N dates (max 366), with EXDATE, BYDAY ordinals, BYSETPOS and WKST. Params: rrule: string, dtstart: string, count?: integer, offsetMinutes?: integer, exdate?: string Example: https://recurrence-rules.x402tookit.com/rrule-expand?rrule=FREQ%3DMONTHLY%3BBYDAY%3D-1FR&dtstart=2026-01-30T09%3A00%3A00&count=6&offsetMinutes=-300 ### GET /rrule-parse — $0.02 Validate an RRULE string against RFC 5545 section 3.3.10, list every error and warning, and explain it in English. Params: rrule: string Example: https://recurrence-rules.x402tookit.com/rrule-parse?rrule=FREQ%3DWEEKLY%3BINTERVAL%3D2%3BCOUNT%3D8%3BWKST%3DSU%3BBYDAY%3DTU%2CTH ## Terms Dates are computed from RFC 5545 rules in floating local time with a fixed UTC offset you supply; no time zone database or daylight saving rules are applied. Hourly, minutely, secondly and BYHOUR/BYMINUTE/BYSECOND rules are not supported. Not legal, payroll or contractual advice; check holidays and cut-off dates against official sources.