Skip to content
laluka

Demo workspace Tidewatch is a made-up tide API. The lessons are real laluka lessons about it. Your own repos arrive with sign-in.

Rate limits are a fixed one-minute window per API key

Origin: baselineStatus: confirmedRepo: tidewatch-apiWritten: 19 Sept 2026

What

The free plan allows 30 requests a minute and the harbour plan 300. When the window is full the answer is a refusal with a retry of 60 seconds, whatever is left of the window.
Cites

Cites

  1. [1]src/rate-limit.ts:1-8matchEntire fileSupports: what
    [THIS IS THE ENTIRE FILE, 8 lines]
    // Fixed window, per API key. The window is one minute and the limit is per plan.
    export const LIMITS = { free: 30, harbour: 300 } as const;
    export type Plan = keyof typeof LIMITS;
    export function allow(countThisMinute: number, plan: Plan): { ok: boolean; retryAfterSeconds?: number } {
    if (countThisMinute < LIMITS[plan]) return { ok: true };
    return { ok: false, retryAfterSeconds: 60 };
    }

Card

What are the Tidewatch rate limits per plan?
junior
Show the answer
30 a minute on free, 300 a minute on harbour, fixed one-minute window per API key.
Cites[1]