Skip to content
    • Developers
    • Pricing
    API Documentation

    Overview

    • Introduction
    • Getting Started

    Concepts

    • Authentication
    • Rate Limiting
    • Request & Response Format

    Endpoints

    • POST /v2/shorten
    • POST /v2/shorten/batch
    • GET /v2/qr/:shortCode
    • GET /v2/stats/:shortCode

    Reference

    • Error Codes
    Back to Plung

    Rate Limiting & Quotas

    To guarantee high availability and prevent platform degradation, all v2 API endpoints enforce both per-minute burst limits and monthly resource quotas based on your account tier.

    Limits by Plan

    PlanPer-Minute Rate LimitMonthly API CallsMonthly Links CreatedMonthly QR Codes
    FREE60 / min2,0003535
    HOBBY300 / min25,000350350
    INDIE1,000 / min150,0001,8001,800
    PRO5,000 / min500,0003,0003,000

    Response Telemetry Headers

    Every API response includes real-time telemetry headers so your application can monitor remaining quotas without spending API calls:

    HeaderExampleDescription
    x-planFREEThe active billing plan associated with the API key owner.
    x-ratelimit-limit60Maximum allowed requests in the current 60-second sliding window.
    x-ratelimit-remaining59Number of requests remaining in the current 60-second window.
    x-ratelimit-reset1790689080Unix epoch timestamp when the 60-second rate limit window resets.
    x-usage-apicalls-used1Cumulative API calls used in the current calendar month.
    x-usage-apicalls-limit2000Total monthly API call allowance on your plan.
    x-usage-apicalls-remaining1999Remaining API calls available until monthly quota resets.
    x-usage-reset2026-10-01T00:00:00.000ZISO timestamp for when monthly resource quotas refresh (00:00 UTC on the 1st).
    x-api-key-nameprodThe human-readable label assigned to the authenticated API key.

    Rate Limit Exceeded (429 Too Many Requests)

    If your application exceeds its per-minute burst rate, the API returns HTTP 429:

    json
    {
      "statusCode": 429,
      "message": "Rate limit exceeded. Try again in the next minute."
    }

    If your monthly quota (links, QR codes, or API calls) has been exhausted, the API returns a structured quota rejection:

    json
    {
      "statusCode": 429,
      "message": "Monthly API call limit reached.",
      "error": "Too Many Requests"
    }
    Best Practice: Inspect the x-ratelimit-remaining header on each response. If it drops to zero, pause outgoing requests until x-ratelimit-reset or implement exponential backoff with jitter.
    PreviousAuthenticationNextRequest & Response Format

    Product

    • About Us
    • Blog
    • Developers

    Features

    • URL Shortening
    • Custom Aliases
    • QR Codes
    • Password Protection
    • Link Analytics
    • Link Expiration

    Legal

    • Privacy Policy
    • Cookies Policy
    • Terms of Service
    • Acceptable Use Policy

    Support

    • Contact Us
    • Report Abuse

    © 2026 Plung

    All Rights Reserved