FormFav LogoFormFav

    Rate Limiting

    FormFav uses a rolling 24-hour window, not a fixed midnight reset. Understanding how it works helps you avoid unexpected 429s.

    How It Works

    Your limit is measured over a rolling 24-hour window. Each request you make is tracked individually, and it expires exactly 24 hours after it was made — not at midnight.

    This means your available capacity is continuously replenishing as old requests age out. You don't always recover the full limit in one go; you recover exactly as many slots as you used 24 hours prior.

    Response Headers

    Every API response includes these headers so you can monitor your usage in real time:

    http
    X-RateLimit-Limit-Day: 1000
    X-RateLimit-Remaining-Day: 423
    Retry-After: 3601
    HeaderDescription
    X-RateLimit-Limit-DayYour plan's total request allowance per 24-hour window
    X-RateLimit-Remaining-DaySlots available right now
    Retry-AfterSeconds until your oldest request expires and one slot opens up (only on 429 responses)

    Examples

    The burst user

    A user exhausts their full allowance in a short burst at 9:00 AM Monday.

    TimeWhat happens
    9:00 AM MonFull allowance exhausted. Limit hit.
    9:00 AM Mon – 9:00 AM TueAll requests return 429. Retry-After counts down from ~86,400s.
    9:00 AM TueAll slots open simultaneously — full allowance restored at once.
    9:00 AM Tue onwardsFresh window available.

    Because all requests were made in a short burst, they all expire together — the full allowance comes back in one go, exactly 24 hours after the burst.

    The steady user

    A user spreads requests evenly throughout the day.

    TimeNew requestsSlots expiringNet remaining
    1:00 PM Mon~420~958
    2:00 PM Mon~420~916
    1:00 PM Tue~42~42 (from 1 PM Mon)stable ~916
    2:00 PM Tue~42~42 (from 2 PM Mon)stable ~916

    Slots expire at the same rate they're consumed — this user never hits the wall, even running continuously.

    Key Takeaways

    • •Not a midnight reset. The window rolls continuously from each individual request, not from a fixed clock time.
    • •Burst early, recover early. Exhausting the limit at 9 AM means you're unblocked by 9 AM the next day — not at midnight.
    • •Slots open as they expire. You recover exactly as many requests as you used in the corresponding window 24 hours ago — not necessarily all at once.
    • •Retry-After is precise. It tells you the exact seconds until your oldest request expires and one slot opens — use it.