> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Quiver Quantitative API: base URL https://api.quiverquant.com, endpoints under /beta/. Authenticate every request with the header `Authorization: Bearer <API key>`. Keys are on https://api.quiverquant.com/dashboard/ after subscribing at https://api.quiverquant.com/pricing/.
> AI agents can use the Quiver MCP server at https://mcp.quiverquant.com/ (streamable HTTP; OAuth sign-in, or the API key as a Bearer token). Setup: https://api.quiverquant.com/docs/mcp-server.
> Each dataset needs a plan (https://api.quiverquant.com/docs/plans-and-access) and each endpoint has a per-account rate limit (https://api.quiverquant.com/docs/rate-limits).

# Rate limits and pagination

> Quiver API rate limits for every endpoint, what happens when you exceed them, and how to page through large results.

Each endpoint has a rate limit of 100 requests per minute, 10 per minute, 200 per hour or 5 per hour. The limits apply per account and are the same on every plan.

## How do the limits work?

* **Limits are shared within a group.** All endpoints with the same limit draw from one allowance. For example, the endpoints limited to 200 requests per hour share a single 200-per-hour allowance, so 150 calls to one leaves 50 for the rest.
* **Each group is separate.** Using up the 5-per-hour bulk allowance doesn't affect your per-minute endpoints.
* **Limits are per account.** Every request made with your API key counts, whichever machine sends it.

## What happens when I exceed a limit?

The API responds with `429 Too Many Requests`:

```json theme={null}
{"detail": "Request was throttled. Expected available in 42 seconds."}
```

The `Retry-After` response header gives the same wait in seconds. Wait that long before retrying:

```python theme={null}
import os
import time

import requests

HEADERS = {"Authorization": f"Bearer {os.environ['QUIVER_API_KEY']}"}


def get(url, **params):
    while True:
        response = requests.get(url, headers=HEADERS, params=params, timeout=60)
        if response.status_code != 429:
            response.raise_for_status()
            return response.json()
        time.sleep(int(response.headers.get("Retry-After", "60")))
```

## How do I get all the results?

* **Use bulk endpoints for full history.** Bulk endpoints such as [Bulk Congress Trading](/docs/api-reference/congress/bulk-congress-trading.md) return a dataset's full history in a few large responses. Their limit is 5 requests per hour, so request large pages rather than many small ones.
* **Page through paginated endpoints.** Endpoints that paginate take a `page` parameter (starting at 1) and a `page_size` parameter. Keep requesting the next page until a page comes back with fewer results than `page_size`. Each endpoint's reference page lists its default and maximum page size.
* **Prefer one broad request over many narrow ones.** Looping a per-ticker endpoint over hundreds of tickers uses up a 10-per-minute allowance quickly. If a live or bulk endpoint covers every ticker, use it instead and filter the results yourself.

Endpoints that support date filters take `date_from` and `date_to`, or `date`, in `YYYYMMDD` format, so you can fetch only what changed since your last request.

## Rate limit for each endpoint

### 100 requests per minute

| Endpoint | Path | Plan |
| - | - | - |
| [Historical Corporate Donors by Ticker](/docs/api-reference/lobbying-and-donations/historical-corporate-donors-by-ticker.md) | `/beta/historical/corporatedonors/{ticker}` | Hobbyist |
| [Historical Daily Prices](/docs/api-reference/market-data/historical-daily-prices.md) | `/beta/historical/dailyprices/{ticker}` | Hobbyist |
| [Historical Senate Trading](/docs/api-reference/congress/historical-senate-trading.md) | `/beta/historical/senatetrading/{ticker}` | Hobbyist |
| [Live Congress Politicians](/docs/api-reference/congress/live-congress-politicians.md) | `/beta/live/congress/politicians` | Hobbyist |
| [Polymarket Top Trades](/docs/api-reference/market-data/polymarket-top-trades.md) | `/beta/live/polymarkettrades` | Hobbyist |
| [Recent House Trading](/docs/api-reference/congress/recent-house-trading.md) | `/beta/live/housetrading` | Hobbyist |
| [Recent Senate Trading](/docs/api-reference/congress/recent-senate-trading.md) | `/beta/live/senatetrading` | Hobbyist |
| [Revolving Door Lobbyists](/docs/api-reference/lobbying-and-donations/revolving-door-lobbyists.md) | `/beta/live/revolvingdoor` | Hobbyist |
| [WARN Notices (Layoffs)](/docs/api-reference/company-data/warn-notices-layoffs.md) | `/beta/live/warnnotices` | Trader |

### 10 requests per minute

| Endpoint | Path | Plan |
| - | - | - |
| [Earnings Distortion Scores](/docs/api-reference/new-constructs/earnings-distortion-scores.md) | `/beta/live/earningsdistortionscores/{ticker}` | New Constructs |
| [Historical Congress Trading](/docs/api-reference/congress/historical-congress-trading.md) | `/beta/historical/congresstrading/{ticker}` | Hobbyist |
| [Historical Gov Contracts](/docs/api-reference/government-contracts/historical-gov-contracts.md) | `/beta/historical/govcontracts/{ticker}` | Hobbyist |
| [Historical Gov Contracts All](/docs/api-reference/government-contracts/historical-gov-contracts-all.md) | `/beta/historical/govcontractsall/{ticker}` | Hobbyist |
| [Historical House Trading](/docs/api-reference/congress/historical-house-trading.md) | `/beta/historical/housetrading/{ticker}` | Hobbyist |
| [Historical Lobbying](/docs/api-reference/lobbying-and-donations/historical-lobbying.md) | `/beta/historical/lobbying/{ticker}` | Hobbyist |
| [Historical Off-Exchange](/docs/api-reference/market-data/historical-off-exchange.md) | `/beta/historical/offexchange/{ticker}` | Hobbyist |
| [Historical Patents](/docs/api-reference/patents/historical-patents.md) | `/beta/historical/allpatents/{ticker}` | Trader |
| [Live Insider Trading](/docs/api-reference/insiders-and-institutions/live-insider-trading.md) | `/beta/live/insiders` | Trader |
| [Live Lobbying](/docs/api-reference/lobbying-and-donations/live-lobbying.md) | `/beta/live/lobbying` | Hobbyist |
| [Live SEC13F](/docs/api-reference/insiders-and-institutions/live-sec13f.md) | `/beta/live/sec13f` | Trader |
| [Live SEC13F Changes](/docs/api-reference/insiders-and-institutions/live-sec13f-changes.md) | `/beta/live/sec13fchanges` | Trader |
| [Patent Drift](/docs/api-reference/patents/patent-drift.md) | `/beta/live/patentdrift` | Trader |
| [Patent Momentum](/docs/api-reference/patents/patent-momentum.md) | `/beta/live/patentmomentum` | Trader |
| [Recent Gov Contracts](/docs/api-reference/government-contracts/recent-gov-contracts.md) | `/beta/live/govcontracts` | Hobbyist |
| [Recent Gov Contracts All](/docs/api-reference/government-contracts/recent-gov-contracts-all.md) | `/beta/live/govcontractsall` | Hobbyist |

### 200 requests per hour

| Endpoint | Path | Plan |
| - | - | - |
| [Historical Executive Compensation](/docs/api-reference/insiders-and-institutions/historical-executive-compensation.md) | `/beta/historical/executivecompensation/{ticker}` | Trader |
| [Live Congress Stock Holdings](/docs/api-reference/congress/live-congress-stock-holdings.md) | `/beta/live/congress_stock_holdings` | Hobbyist |
| [Live Congress Trading](/docs/api-reference/congress/live-congress-trading.md) | `/beta/live/congresstrading` | Hobbyist |
| [Live Off-Exchange](/docs/api-reference/market-data/live-off-exchange.md) | `/beta/live/offexchange` | Hobbyist |
| [Live Quiver News](/docs/api-reference/company-data/live-quiver-news.md) | `/beta/live/quivernews` | Trader |
| [Live Top Shareholders](/docs/api-reference/insiders-and-institutions/live-top-shareholders.md) | `/beta/live/topshareholders/{ticker}` | Trader |
| [Recent Patents](/docs/api-reference/patents/recent-patents.md) | `/beta/live/allpatents` | Trader |

### 5 requests per hour

| Endpoint | Path | Plan |
| - | - | - |
| [App Ratings](/docs/api-reference/company-data/app-ratings.md) | `/beta/live/appratings` | Trader |
| [Bulk Congress Politicians](/docs/api-reference/congress/bulk-congress-politicians.md) | `/beta/bulk/congress/politicians` | Hobbyist |
| [Bulk Congress Trading](/docs/api-reference/congress/bulk-congress-trading.md) | `/beta/bulk/congresstrading` | Hobbyist |
| [Bulk Corporate Donors](/docs/api-reference/lobbying-and-donations/bulk-corporate-donors.md) | `/beta/bulk/corporatedonors` | Hobbyist |
| [Bulk Trump Stock Trades](/docs/api-reference/trump-trades/bulk-trump-stock-trades.md) | `/beta/bulk/trumpstocktrades` | Hobbyist |

If these limits don't fit your use case, [contact us](mailto:info@quiverquant.com).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.