# NocoDB API Quickstart

> Part of the NocoDB documentation (APIs). Index of all pages: https://nocodb.com/llms.txt. Any docs page is available as Markdown by adding `.md` to its URL.

URL: https://nocodb.com/docs/apis
Last updated: 2026-10-21

Make your first NocoDB REST API request: create an API token, find your project and table IDs, then list the records of a table with the v3 Data API.

The NocoDB REST APIs let you read and write records, manage projects, tables, fields and views, and upload files from your own code. This page takes you from an API token to your first response.

<DevCards>
  <DevCard icon="data" tag="Reference" title="Data API" description="Create, read, update and delete records." href="https://nocodb.com/apis/v3/data/" />

  <DevCard icon="meta" tag="Reference" title="Meta API" description="Manage projects, tables, fields and views." href="https://nocodb.com/apis/v3/meta/" />

  <DevCard icon="upload" title="Upload Files" description="Upload local files to Attachment fields." href="/docs/apis/upload-files" links={[{ label: 'Single file', href: '/docs/apis/upload-files#upload-local-file-single' }, { label: 'Multiple files', href: '/docs/apis/upload-files#upload-local-files-batch' }]} />

  <DevCard icon="mcp" title="MCP Server" description="Let LLM clients work with your NocoDB data through conversation." href="/docs/mcp" clients />
</DevCards>

## Make your first request

<Steps>
  <Step>
    ### Create an API token

    Create a token in **Account Settings** > **Tokens**. See [API Tokens Management](/docs/product/account-settings/api-tokens).
  </Step>

  <Step>
    ### Find the base ID and the table ID

    The base ID starts with `p` and the table ID starts with `m`. Both show in the URL when you open a table. See [Find IDs](/docs/apis/ids).
  </Step>

  <Step>
    ### List the records of the table

    Send the token in the `xc-token` header.

    <Tabs items={['NocoDB Cloud', 'Self-hosted']}>
      <Tab value="NocoDB Cloud">
        ```bash
        curl -H "xc-token: <your-token>" \
          "https://app.nocodb.com/api/v3/data/<baseId>/<tableId>/records"
        ```
      </Tab>

      <Tab value="Self-hosted">
        ```bash
        curl -H "xc-token: <your-token>" \
          "http://localhost:8080/api/v3/data/<baseId>/<tableId>/records"
        ```

        Replace `http://localhost:8080` with the address of your NocoDB instance.
      </Tab>
    </Tabs>
  </Step>
</Steps>

The response lists the records of the table. Each record has an `id`, and its field values are in `fields`. When more records are available, `next` holds the URL of the next page.

```json
{
  "records": [
    {
      "id": 1,
      "fields": {
        "SingleLineText": "record #1",
        "Number": 1234
      }
    }
  ],
  "next": "https://app.nocodb.com/api/v3/data/baseId/tableId/records?page=2"
}
```

To get the next pages, see [Pagination](/docs/apis/pagination).

## Base URL

| Deployment   | Base URL                                                          |
| ------------ | ----------------------------------------------------------------- |
| NocoDB Cloud | `https://app.nocodb.com`                                          |
| Self-hosted  | The address of your instance, for example `http://localhost:8080` |

## What you can build

Use the NocoDB APIs to:

* integrate NocoDB with external applications
* automate workflows
* build custom tools
* manage your projects at scale

To let an LLM client work with NocoDB, use [MCP Server](/docs/mcp) or [NocoDB Skills](/docs/mcp/skills) instead.

## API versions

The where clause of the v3 APIs is slightly different from the where clause of the earlier version. Refer to [v3 Where Clause](/docs/apis/filtering#v3-where-query-parameter).

## Availability

* Collaboration Meta APIs are available on **NocoDB Cloud** (Business plan and above) and on licensed self-hosted deployments (Business plan and above).
* View and Script Meta APIs are available on **NocoDB Cloud** (Enterprise plan) and on licensed self-hosted deployments (Business plan and above).

## Related

* [Authentication](/docs/apis/authentication)
* [Find IDs](/docs/apis/ids)
* [Errors and Rate Limits](/docs/apis/errors)

---

## Related pages

- [Authentication](https://nocodb.com/docs/apis/authentication.md): Authenticate NocoDB REST API requests with an API token, sent in the xc-token header or as a Bearer token, and explore endpoints in the Swagger UI.
- [Find IDs](https://nocodb.com/docs/apis/ids.md): Find the workspace, base, table, view, field, record, user and data source IDs that NocoDB REST API endpoints need, and the prefix of each ID.
- [Filtering](https://nocodb.com/docs/apis/filtering.md): Filter NocoDB REST API results with the where query parameter: comparison operators, date sub-operators, logical operators and the quoted v3 syntax.
- [Query Parameters](https://nocodb.com/docs/apis/query-parameters.md): Query parameters of NocoDB REST API list requests: where, limit, offset, sort, fields and shuffle, with their aliases, defaults and example values.
- [Pagination](https://nocodb.com/docs/apis/pagination.md): Page through NocoDB REST API results: follow the next and prev URLs of v3 record lists, and use limit, offset and pageInfo for the base list.
- [Errors and Rate Limits](https://nocodb.com/docs/apis/errors.md): NocoDB REST API errors and rate limits: the JSON error body, what each HTTP status code means, request IDs, and how to handle a 429 response.
- [Upload Files](https://nocodb.com/docs/apis/upload-files.md): Upload local files to a NocoDB Attachment field with the REST API: code samples in JavaScript, Bash, TypeScript, Python, Ruby and Java, for one file or a batch.
- [Delete Records by ID](https://nocodb.com/docs/apis/delete-records.md): Delete NocoDB records, or unlink linked records, by sending the record ids in a records query parameter when a client or proxy removes the DELETE body.
