Rate Limits

MockHero enforces rate limits to ensure fair usage and platform stability. Limits vary by plan and are measured in records generated, not API calls.

Tier Comparison

All limits reset daily at midnight UTC.

Limit
Daily records
Free
1,000
Pro ($29)
100,000
Scale ($79)
1,000,000
Limit
Per-request records
Free
100
Pro ($29)
10,000
Scale ($79)
50,000
Limit
Requests per minute
Free
10
Pro ($29)
60
Scale ($79)
120
Limit
Output formats
Free
JSON
Pro ($29)
JSON, CSV, SQL
Scale ($79)
JSON, CSV, SQL
Limit
Seed for reproducibility
Free
No
Pro ($29)
Yes
Scale ($79)
Yes
Limit
Schema detection
Free
No
Pro ($29)
Yes
Scale ($79)
Yes

Rate Limit Response Headers

Every authenticated response includes headers so you can track your usage without making extra API calls.

Header
X-RateLimit-Limit
Type
integer
Description
Maximum records your plan allows per day.
Header
X-RateLimit-Remaining
Type
integer
Description
Records remaining in the current daily window.
Header
X-RateLimit-Reset
Type
string (ISO 8601)
Description
Timestamp when the daily limit resets (midnight UTC).
Header
Retry-After
Type
integer
Description
Seconds to wait before retrying. Only on 429 responses.

Example Headers

HTTP/1.1 200 OK
Content-Type: application/json
X-RateLimit-Limit: 100000
X-RateLimit-Remaining: 94320
X-RateLimit-Reset: 2026-03-21T00:00:00.000Z
X-Request-Id: req_8a3f2c1d7e9b

When You Hit the Limit

When you exceed your daily record limit or per-minute request limit, the API returns a 429 Too Many Requests response. For per-minute limits, a Retry-After header is included indicating how many seconds to wait.

429 Response Example

HTTP/1.1 429 Too Many Requests
Content-Type: application/json
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 2026-04-01T00:00:00.000Z

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Daily record limit exceeded. Your plan allows 1,000 records per day. Resets at 2026-04-01T00:00:00Z."
  }
}

Best Practices

  • Monitor the X-RateLimit-Remaining header to see how many records you have left before hitting the limit.
  • Use the seed parameter (Pro+) to cache and replay results instead of re-generating identical datasets.
  • Generate data in bulk rather than one record at a time to maximize the value of each request within per-minute limits.
  • If you consistently hit limits, consider upgrading your plan. The Pro tier offers 100x the daily record allowance of the Free tier.

Per-Minute Rate Limits

In addition to daily record limits, MockHero enforces per-minute request limits to prevent burst abuse. These are measured as total HTTP requests to any authenticated endpoint, not records generated.

Plan
Free
Requests / Min
10
Burst Window
Fixed 60-second window
Plan
Pro
Requests / Min
60
Burst Window
Fixed 60-second window
Plan
Scale
Requests / Min
120
Burst Window
Fixed 60-second window

Per-minute limits use a fixed window algorithm that resets every 60 seconds. If you exhaust your limit, you must wait until the current window resets before sending additional requests.