Rate Limiting

The Tuesday Leads API implement rate limiting to ensure fair usage and maintain service quality for all users.

Rate Limit Details

Standard Rate Limit

requests per minute

Average Response Time

seconds per request

Rate Limit Exceeded: Requests over the limit will receive HTTP 429 Too Many Requests. Additional limits may apply for high-traffic usage patterns.

Rate Limit Headers

Every API response includes headers to help you track your usage:

X-RateLimit-Limit: 20
X-RateLimit-Remaining: 15
X-RateLimit-Reset: 1640995200
  • X-RateLimit-Limit: Total requests allowed per minute
  • X-RateLimit-Remaining: Requests remaining in current window
  • X-RateLimit-Reset: Unix timestamp when the limit resets

Credit System

The Tuesday APIs use a credit-based pricing model where different operations consume different amounts of credits.

Base Credit Costs

OperationBase CreditsDescription
Basic Profile Lookup1Standard profile data without enrichment
Company Search1Basic company information
People Search1Search for people with filters

Additional Credit Costs

Some enrichment features require additional credits:

Credit Calculation Examples

// Request
const response = await fetch(
  'https://api.tuesday.so/api/v1/people/profile?linkedin_url=example&include_email=include&include_phone=include'
);

// Credit breakdown:
// Base profile: 1 credit
// Email: +2 credits  
// Phone: +3 credits
// Total: 6 credits

Error Responses

Rate Limit Exceeded

{
    "statusCode": 429,
    "message": "Rate Limit Exceeded", 
    "error": "Too many requests within the limit"
}

Insufficient Credits

{
    "statusCode": 402,
    "message": "Insufficient credits",
    "error": "Not sufficient credit available for request"
}

Best Practices

Monitor Your Usage: Track credit consumption in your Tuesday dashboard to avoid unexpected exhaustion of your credit balance.

Batch Processing: Plan bulk operations carefully, considering both rate limits and credit costs. Process requests in batches rather than rapid succession.

Selective Enrichment: Only request enrichment data (email, phone, company details) when you actually need it to minimize credit consumption.

Cache Results: Store API responses locally to avoid repeat requests for the same data.

Handling Rate Limits

When you hit rate limits, implement exponential backoff in your applications:

async function makeRequestWithRetry(url, options, maxRetries = 3) {
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
    try {
      const response = await fetch(url, options);
      
      if (response.status === 429) {
        const retryAfter = response.headers.get('Retry-After') || Math.pow(2, attempt);
        console.log(`Rate limited. Retrying after ${retryAfter} seconds...`);
        await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
        continue;
      }
      
      return response;
    } catch (error) {
      if (attempt === maxRetries) throw error;
      await new Promise(resolve => setTimeout(resolve, Math.pow(2, attempt) * 1000));
    }
  }
}

Upgrading Your Plan

If you need higher rate limits or more credits:

  1. Visit your dashboard at app.tuesday.so
  2. Review usage patterns to determine optimal plan
  3. Upgrade your plan for increased limits and credits
  4. Contact support for enterprise-level requirements