{"uid":"cap_fZz9sSpvHoh-3Cm58g9E3","slug":"tanod-utilpeek-rrule-expander-72ea0405","name":"Tanod utilpeek RRULE Expander","description":"One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.","url":"https://tanod.dev/v1/calendar/rrule?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"limit":{"type":"integer","default":100,"maximum":1000,"minimum":1,"description":"Most occurrences to return (1-1000)."},"rrule":{"type":"string","maxLength":500,"minLength":5,"description":"RFC 5545 RRULE, with or without the RRULE: prefix."},"until":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"default":null,"description":"Extra upper bound (ISO 8601)."},"between":{"anyOf":[{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},{"type":"null"}],"default":null,"description":"[from, to] ISO 8601 window (inclusive)."},"dtstart":{"type":"string","maxLength":40,"minLength":10,"description":"ISO 8601 first occurrence (date or datetime)."},"exdates":{"anyOf":[{"type":"array","items":{"type":"string"},"maxItems":100},{"type":"null"}],"default":null,"description":"ISO 8601 occurrences to leave out."},"timezone":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"default":null,"description":"IANA zone the rule runs in (wall-clock times keep across DST). Default UTC."}}},"responseSchema":{"type":"json","example":{"note":"Computed with python-dateutil in the given time zone; wall-clock times keep across DST changes. The search stops at search_horizon.","count":3,"rrule":"FREQ=WEEKLY;BYDAY=MO,WE;COUNT=3","dtstart":"2026-10-26T09:00:00+01:00","timezone":"Europe/Berlin","truncated":false,"occurrences":["2026-10-26T09:00:00+01:00","2026-10-28T09:00:00+01:00","2026-11-02T09:00:00+01:00"],"search_horizon":"2126-10-02T09:00:00+01:00","horizon_reached":false}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_8n-0BUeUKFn4ggWpop_2K","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Expands an RFC 5545 RRULE recurrence rule into a list of concrete dates/datetimes in a specified IANA time zone, correctly handling DST transitions.","exampleAgentPrompt":"Expand this recurrence rule — RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR — starting from 2025-03-01T09:00:00 in America/New_York, and give me the next 50 occurrences, skipping 2025-03-17T09:00:00.","exampleUseCases":[{"title":"Weekly team standup schedule","prompt":"I have a recurring standup every Monday, Wednesday, and Friday at 10am starting March 1 2025. Can you list the next 30 dates in the Europe/London timezone, making sure daylight saving time is handled correctly? The RRULE is FREQ=WEEKLY;BYDAY=MO,WE,FR."},{"title":"Monthly billing reminder dates","prompt":"Our billing system sends reminders on the last day of every month starting 2025-01-31. The RRULE is FREQ=MONTHLY;BYMONTHDAY=-1. Can you expand that into actual dates for all of 2025 in America/Chicago timezone, up to 12 occurrences?"},{"title":"Event series with excluded holidays","prompt":"I have a yoga class every Tuesday and Thursday at 7am starting 2025-01-07, RRULE is FREQ=WEEKLY;BYDAY=TU,TH. Can you list all occurrences through the end of June 2025 in Australia/Sydney time, but skip 2025-01-28 and 2025-04-17 since those are holidays?"}],"resultDescription":"Returns a list of concrete ISO 8601 datetime strings representing each expansion of the recurrence rule, correctly adjusted for DST in the specified IANA timezone, up to the requested limit or bounded by the provided date window.","failureModes":["Invalid or malformed RRULE string returns a 400 error","Unknown or invalid IANA timezone string returns a 400 error","dtstart missing or unparseable ISO 8601 value causes a 400 error","limit out of range (below 1 or above 1000) causes a 400 error","between array with non-ISO dates returns a 400 error","Payment failure via x402 returns a 402 response","Rule that produces zero occurrences in the requested window returns an empty list"],"whenToPreferThis":"Choose this endpoint when you need accurate, DST-correct expansion of RFC 5545 RRULE strings into concrete dates — particularly for time zones that observe daylight saving time where wall-clock semantics must be preserved. Prefer it over client-side recurrence libraries when the agent environment lacks a reliable rrule/tz library, or when you need a consistent, deterministic server-side answer with exclusion date support and windowed filtering.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-11T12:47:43.656Z","isFirstParty":false,"canonicalSlug":"tanod-utilpeek-rrule-expander-72ea0405"}