Rate Limits & Tiers
The Influship API uses a with real-time rate limiting and automatic tier progression. Understanding both helps you build robust integrations that handle constraints gracefully.How It Works
Two enforcement layers:- Rate Limits (Real-time): Per-minute and per-hour credit caps prevent burst abuse
- Billing Thresholds (Stripe): Monthly billing thresholds trigger invoices, account suspends if payment fails
Rate Limits
Rate limits operate on two time windows to balance burst tolerance with sustained usage:| Window | Purpose | Example (Free Plan) |
|---|---|---|
| Per-minute | Prevents burst abuse | 10 credits/minute |
| Per-hour | Ensures fair hourly usage | 100 credits/hour |
Credit System
Each API request consumes based on operation complexity:| Operation | Base Credits | Factors |
|---|---|---|
| Search | 1.0 - 5.0 | Query complexity, result count, detail level |
| Lookalike | 2.0 - 10.0 | Reference profiles analyzed, result count |
| Profile Fetch | 0.5 - 2.0 | Detail mode (lite vs. detailed) |
| Batch Operations | Sum of individual | Each item in batch |
Use
lite mode for profile fetches to consume fewer credits when you don’t need full details. Check response headers to track exact credit costs per request.Plans & Tiers
Your plan determines your rate limits and billing threshold. Plans work as a trust ladder — the more you’ve spent over your account lifetime, the higher your limits:- Rate limits increase so established customers can make faster, more concurrent requests
- Billing thresholds increase so trusted customers can accumulate more usage before being invoiced
| Plan | Rate Limits (RPM / RPH) | Billing Threshold | How to Reach |
|---|---|---|---|
| Free | 10 rpm / 100 rph | $5 | Signup (default) |
| Starter | 50 rpm / 500 rph | $25 | First successful payment |
| Pro | 100 rpm / 1,000 rph | $100 | $500 lifetime spend |
| Business | 200 rpm / 2,000 rph | $250 | $2,000 lifetime spend |
| Enterprise | Custom | Custom | Contact sales |
Automatic Plan Upgrades
Plans upgrade automatically when you hit lifetime spend milestones. No manual action required — your rate limits increase as you grow.
Why does Starter unlock on first payment? The Free-to-Starter promotion verifies you have a working payment method. Once your first invoice is successfully charged (any amount), you’re promoted to Starter limits. The higher tiers (Pro at 2,000) filter for serious, high-volume customers.
How Billing Works
- Usage Metering: Each API request is metered and reported to Stripe in real-time
- Billing Threshold: When your monthly usage hits your plan’s threshold (e.g., $5 for Free plan), Stripe creates an invoice
- Payment: Invoice is charged to your payment method automatically
- Plan Promotion: After payment succeeds, if your lifetime spend crosses a plan boundary, you’re automatically upgraded
- Reset: Billing cycle resets, and you continue with new (possibly higher) limits
Need Higher Limits?
Grow Into Higher Plans
Plan upgrades happen automatically based on lifetime spend. Keep using the API and your limits will increase over time.
Contact Sales for Enterprise
Need custom rate limits beyond Business plan? Enterprise plans support dedicated infrastructure, white-glove support, and custom SLAs.
Response Headers
Every successful API response includes headers showing your rate limit and credit consumption:| Header | Type | Description | Example |
|---|---|---|---|
RateLimit-Limit | Integer | Credits allowed per minute | 100 |
RateLimit-Remaining | Integer | Credits remaining this minute | 87 |
RateLimit-Reset | Unix Epoch | When minute window resets | 1703571600 |
X-Credits-Charged | Float | Credits consumed by this request | 2.5 |
X-Credits-Features | String | Pricing tier applied | search,detailed |
X-Billing-Plan | String | Your current plan | pro |
- cURL
- TypeScript SDK
- Python
Error Responses
429 Rate Limited
Returned when you exceed per-minute or per-hour credit limits:Retry-After: Seconds to wait before next request (e.g.,60)RateLimit-Reset: Unix timestamp when limit resets
- TypeScript
- Python
- cURL
403 Forbidden (Account Suspended)
Returned when your Stripe billing is suspended due to payment issues:| Reason | Description | Resolution |
|---|---|---|
payment_failed | Payment method declined | Update payment method in dashboard |
action_required | 3D Secure/SCA authentication needed | Complete authentication flow |
dispute_opened | Chargeback/dispute detected | Contact support immediately (manual resolution required) |
Best Practices
Implement Exponential Backoff
When you hit a rate limit, use the
Retry-After header value. If not present, use exponential backoff (1s, 2s, 4s, 8s…) with a maximum wait time.Cache Responses
Cache profile data and search results when appropriate. Many profiles don’t change hourly, so caching can dramatically reduce your credit consumption.
Monitor Headers Proactively
Don’t wait for 429 errors. Log
RateLimit-Remaining with each request and throttle your own requests when approaching limits.Use Lite Mode
For profile fetches, use
lite mode (only 0.5 credits) when you don’t need full bio, content analysis, or audience insights. Save detailed mode for final selections.Proactive Monitoring Example
- TypeScript
- Python
Monitoring Usage
Dashboard Tracking
View your historical credit consumption and billing status in the API Dashboard:- Real-time credit usage and current tier
- Monthly spend tracking toward billing threshold
- Rate limit violation history
- Detailed breakdown by endpoint
- Lifetime spend and tier progression timeline
Programmatic Tracking
Log credit consumption per request to track usage in your application:- TypeScript
- Python
Fail-Open Behavior
If the rate limiting service (Redis) is unavailable, the API fails open and allows requests through. This ensures your integration remains operational during infrastructure incidents, though temporary rate limit violations may occur.
Summary
| Concept | What It Is | When It Applies |
|---|---|---|
| Rate Limits | Per-minute and per-hour credit caps | Every request, enforced in real-time |
| Plans | Rate limit levels based on lifetime spend | Automatically upgraded as you spend more |
| Billing Thresholds | Monthly spending cap before invoice | Triggers Stripe invoice when reached |
| 429 Error | Rate limit exceeded | Retry with exponential backoff or Retry-After header |
| 403 Error | Account suspended (payment failed) | Fix payment method in dashboard |
| Headers | Rate limit and credit metadata | Returned with every successful response |