---
title: "Errors and Billing"
description: "SignupSieve API status codes, what to do with each, and how usage is billed."
canonical_url: "https://signupsieve.pages.dev/docs/errors"
---

> Index of every page on this site: [llms.txt](https://signupsieve.pages.dev/llms.txt)

# Errors

Errors return JSON: `{ "error": "message" }`.

<table>
<thead>
  <tr>
    <th>
      Status
    </th>
    
    <th>
      When
    </th>
    
    <th>
      What to do
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        400
      </code>
    </td>
    
    <td>
      Invalid email, broken JSON, unknown field, empty or oversized bulk list, bad <code>
        outcome
      </code>
    </td>
    
    <td>
      Fix the request
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        401
      </code>
    </td>
    
    <td>
      Missing or invalid RapidAPI key
    </td>
    
    <td>
      Check your <code>
        X-RapidAPI-Key
      </code>
      
       header
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        404
      </code>
    </td>
    
    <td>
      Feedback for an unknown, expired or already-labelled check, or an address not checked in the last 14 days
    </td>
    
    <td>
      Nothing to retry
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        405
      </code>
    </td>
    
    <td>
      Wrong HTTP method
    </td>
    
    <td>
      Use the method in the table above
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        429
      </code>
    </td>
    
    <td>
      Plan quota or rate limit reached (from RapidAPI)
    </td>
    
    <td>
      Wait, or upgrade your plan
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        503
      </code>
    </td>
    
    <td>
      Temporarily unavailable
    </td>
    
    <td>
      Retry after a few seconds
    </td>
  </tr>
</tbody>
</table>

**Tip:** if a check fails or times out, let the signup through and check it later. Never block real users because of a network problem.

## Billing

- Usage is counted in **emails**: 1 per single check, 1 per address answered in a bulk call.
- **Feedback and model stats are free.**
- Failed requests (status 500 and above) are never billed.

## Sitemap

See the full [sitemap](https://signupsieve.pages.dev/sitemap.md) for all pages.
