How the quota guard keeps free tiers free

Free API tiers are generous until a runaway job burns through them. Larvabot treats every free limit as a wall, not a suggestion.

  1. 1

    A hard cap per provider

    Every metered service has a cap just below its free allowance: 950 of Tavily's 1,000 monthly credits, 2,400 of Serper's 2,500 one-time credits, 45 of Hunter's 50 monthly searches. You can lower a cap, or set it to 0 to switch a service off.

  2. 2

    Counted before the call, not after

    Larvabot reserves one unit in the database before each request, in a single atomic step that only succeeds while the count is under the cap. Even jobs running at the same moment can't overshoot. In testing, six simultaneous requests against a cap of three produced exactly three calls.

  3. 3

    Checked against what the provider says

    For Tavily, Serper and Hunter, Larvabot regularly reads the provider's own usage or balance endpoint and stops when only a small margin is left, even if its own counter says otherwise (for example after you used the same key elsewhere).

  4. 4

    Renewing quotas first

    Search goes to Tavily (renews monthly) before Serper (one-time credits), and scraping comes before paid-style lookups like Hunter. Cheap and renewable is always tried first.

  5. 5

    Fallbacks instead of failures

    When one provider is capped, busy or down, the job moves to the next free one you've added. If none is left, the job waits for the next run instead of calling anything paid.

Tavily search0 / 1,000 free
Serper credits0 / 2,500 free
Hunter lookups0 / 50 free
Geminifree tier · falls back to Groq when busy

Illustration: meters stop at the cap

See each provider's details: Tavily, Serper, Hunter, Gemini, Groq.