# Reuily API: Read Forms and Responses with an API Key

> Use a Reuily API key to read your forms, their questions and every response from your own code. Included on every plan, Free too.

Canonical: https://reuily.com/help/integrations/api
Published: 2026-10-08
Last updated: 2026-10-08

## How do I read my forms and responses with the Reuily API?

Create an API key under Settings, Security, API keys, then send it as Authorization: Bearer with each request to https://reuily.com/api/v1. The API reads forms and responses in the key's workspace, on every plan including Free.

## How do I get an API key?

1. **Create a key:** Go to Settings, then Security. Under API keys, choose Create key, name it after the app that will use it and pick a workspace.
2. **Copy it once:** Reuily shows the key once. Store it in your app's secret settings, never in code a browser loads.
3. **Send it with each request:** Add the header Authorization: Bearer followed by your key.

Base URL: `https://reuily.com/api/v1`

## Which endpoints are there?

Every endpoint is a GET request under the base URL and returns JSON. Lists come back as data, with page, page_size, total and has_more.

- `GET /me`: The key's workspace, organization and owner. Handy for checking a key works.
- `GET /forms`: Forms in the workspace, most recently updated first. Supports page, page_size and search.
- `GET /forms/{form_id}`: One form with its questions, their IDs, types and answer choices.
- `GET /forms/{form_id}/responses`: Responses to a form. Supports page, page_size, since, until and order.
- `GET /forms/{form_id}/responses/{response_id}`: One response.

### Query parameters

- `page`: Page number, starting at 1.
- `page_size`: Items per page, from 1 to 100. The default is 20.
- `search`: Forms only: match form names.
- `since / until`: Responses only: dates like 2026-10-08, in UTC. Both are inclusive.
- `order`: Responses only: newest (the default) or oldest.

## What does a request look like?

This reads the latest 50 responses to a form. Each answer carries its question's ID, which matches the questions from `GET /forms/{form_id}`.

```bash
curl https://reuily.com/api/v1/forms/Ab12Cd34/responses?page_size=50 \
  -H "Authorization: Bearer rly_key_..."
```

```json
{
  "data": [
    {
      "id": "Ef56Gh78",
      "form_id": "Ab12Cd34",
      "submitted_at": "2026-10-08T11:59:58Z",
      "completion_seconds": 42,
      "answers": [
        {
          "question_id": "rating-field",
          "question": "How would you rate us?",
          "answer": 5
        }
      ]
    }
  ],
  "page": 1,
  "page_size": 50,
  "total": 1,
  "has_more": false
}
```

## What errors and limits are there?

Each key can make 100 requests a minute. Errors come back as JSON like `{"error": {"code": "not_found", "message": "Not found."}}`.

- **400** `invalid_request`: A parameter is missing or out of range. The message says which.
- **401** `missing_api_key / invalid_api_key`: No key was sent, or it was revoked or has stopped working.
- **403** `forbidden / plan_required`: The key's owner can't see that, or API access is off for the organization.
- **403** `mfa_enrollment_required`: The organization requires two-step verification and the key's owner hasn't set it up.
- **404** `not_found`: The form or response doesn't exist in the key's workspace.
- **429** `rate_limited`: More than 100 requests in a minute. Wait for the Retry-After seconds.

## How do I revoke a key?

Go to **Settings**, then **Security**. Under **API keys**, choose **Revoke** next to the key. Apps using it stop working straight away.

## Common questions

### Which plans include API access?

Every plan, including Free. The API follows your plan's limits and features.

### Can the API create or change forms?

Not yet. The API reads forms and responses. To build forms from code or an assistant, use an AI agent through Reuily's MCP server, and to receive each new response as it arrives, use a webhook.

### What can a key see?

A key works in the one workspace you picked and has your access there. If you lose access to the workspace, the key stops working too.

### Why did my key stop working?

A key ends when you revoke it, change your password, change two-step verification or sign out everywhere. Create a new key and update your app.

### Should I poll the API for new responses?

Use a webhook to hear about each new response as it arrives, and the API to backfill or look up responses. Polling counts against the limit of 100 requests a minute.
