> Documentation index: https://beezr.io/developers/api/llms.txt

# Export every record

## Choose the module and fields

Copy your module table name and field System names from the Designer. Use `fields` to keep each result small; the integer `id` always comes back.

## Query a page

Use v4 query. Set `limit` up to 100 and begin with `offset: 0`. Read the returned `data` array and save each record to your destination. File fields contain references instead of bytes.

```json
{"module":"cm_equipment_requests_base","fields":["title"],"limit":100,"offset":0}
```

## Continue while there are records

Keep reading while `offset + returned < total`. Advance `offset` by the returned count. Stop on an empty page or an error so a failed request doesn't become an endless loop. The [paging loops](/developers/api/paging/) provide cURL, JavaScript and Python versions.

## Respect shared limits

Keep at most 2 calls in flight across the workspace and wait after retryable 429s. Stop monthly-quota retries until the 1st. [Limits](/developers/api/limits/) includes retry helpers.

## Export attached files

Use each record's `id` with the file reference's `unstructuredId` and `module` to [download its bytes](/developers/api/reference/download-file/). Don't use a reference's `objectId: 0`. Save the file only after a successful response.

