Monthly Active Users (MAU)

Monthly Active Users (MAU)

A Monthly Active User (MAU) applies exclusively to Premium subscriptions. An MAU is defined as a unique user on your platform who has accessed data from the Chomp API since the start of your current billing period.

How MAU Billing Works

Instead of capping your total API requests, the Premium plan scales with your actual user base. Every time your application makes an API call, you must include a unique user_id parameter representing the end-user performing the action. 

At the end of your billing cycle, Chomp counts the number of distinct user_id values that accessed the API during that period. 

Example: If your application has 1,000 registered users, but only 10 of them scan a barcode or search for food during the billing month, your MAU count for that month is 10.

Tiered Pricing Structure

MAU pricing operates on a tiered spillover model. The per-user cost decreases as your user base grows. 

  • Tier 1: The first 2,500,000 MAU ($0.001 per user)
  • Tier 2: The next 15,000,000 MAU ($0.0001 per user)
  • Tier 3: Any additional MAU beyond 17,500,000 ($0.00001 per user)

Calculation Example: If your platform registers 20,000,000 Monthly Active Users, your bill is calculated across all three tiers:

  1. Tier 1: 2,500,000 MAU × $0.001 = $2,500
  2. Tier 2: 15,000,000 MAU × $0.0001 = $1,500
  3. Tier 3: 2,500,000 MAU × $0.00001 = $25
  • Total MAU Cost: $4,025 + base subscription fee.

(For a precise estimate based on your numbers, use the interactive Cost Calculator.)

Implementation Details: The user_id Parameter

Premium subscribers must pass a user_id URL parameter with every call made to any Chomp API endpoint. This parameter is used strictly for billing and usage tracking.

Important Guidelines for user_id:

  • Must be unique per user: Use an internal database ID or a hashed string (e.g., user_id=8f4e2a1b).
  • Do NOT use a static string: Passing a hardcoded string (e.g., user_id=my_app) for all users will result in an MAU count of 1. While this might seem cost-effective, it misrepresents usage, violates our Terms of Service, and will trigger an account review.
  • System calls: If your application performs server-side lookups without a direct user context (e.g., a nightly batch job pre-calculating recipes), pass a consistent identifier for that operation, such as user_id=system-batch.

Example Request:

GET /api/v2/food/branded/barcode.php?api_key=[YOUR_API_KEY]&code=[BARCODE]&user_id=[UNIQUE_USER_ID]
    • Related Articles

    • Building a Recipe Nutrition App with the Chomp API

      One of the most common use cases developers bring to the Chomp API is recipe nutrition calculation — giving users a way to log ingredients, build recipes, and see the full nutritional breakdown of what they're cooking. It sounds straightforward, but ...
    • 401 Unauthorized

      A 401 Unauthorized error indicates that the Chomp API has rejected your request due to authentication, billing, or rate limit issues. Common Causes Exceeded Rate Limits: (Limited and Standard Plans) You have exceeded your allowed Requests Per Minute ...
    • Attribution Policy

      Attribution is the practice of publicly acknowledging the Chomp API as the source of the nutritional data displayed within your application. By providing attribution, you help support the platform while remaining compliant with our licensing terms. ...
    • Canceling Your Subscription

      You can cancel your Chomp API subscription at any time. Having trouble with barcode matches? Many developers choose to cancel due to initial difficulty formatting UPC/EAN barcodes correctly. Before canceling, please review the Barcode Troubleshooting ...
    • Caching and Data Storage Policy

      The Chomp API maintains specific guidelines around data caching and storage to balance platform performance with data freshness and intellectual property protection. Caching for Performance To ensure optimal performance and reduce latency for ...