Skip to main content
Does Coda have an API?

The Coda API is a RESTful API that lets you programmatically interact with Coda Docs

Updated over 8 months ago

Coda has a public API available to all users. The API allows you to get data in and out of tables in Coda as well as access computed values from formulas and user-selected values from controls.


What Can I do with Coda API?

The Coda REST API allows users to programmatically interact with Coda docs in a number of ways including:

  • List and search Coda docs

  • Listing docs

  • Creating and copying docs

  • Listing tables within a doc

  • Retrieving rows

  • Inserting and updating rows

  • Listing pages in a doc

  • Updating page title/image/icon

  • Publishing a doc

Check out our full API documentation here.

To see examples of the Coda API in action, take a look at this Coda doc.


Enterprise customers wanting to learn about our Admin Audit API, check out this article.

FAQs

Question

Answer

API size limits on requests

The limit for requests is 2 MB, but there is also a limit of 85 KB for any given row. Community Post

Are API limits per workspace, user, or token?

Limits are attached to a user/IP

Why do I get a 401 error when trying to connect Coda to Zapier?

Go to coda.io/account and check that there aren’t any restrictions on the API token for Zapier. Zapier can’t connect to Coda with anything less than a full access API token.

How do I use the Zapier upsert action? Why can’t I upsert using the row’s ID?

The Zapier Coda integration’s upsert action is a bit confusing to set up. You have to specify the column you want to look for a match on as well as specify the value of that and any other columns you want to update.
However, you can’t update a column that’s based on a formula. Since upsert combines search, update, and create steps, this also effectively prevents you from upserting based on something like a rowID column that is filled by a formula.
One way around this is to add a column to your table and fill it with the row’s ID via automation instead of using a formula. (Note that default value settings won’t work to capture the row ID.)

The API is returning a date and time stamp different than I’d expect. Why is that?

The API returns dates in Pacific time. The user can write code to offset from there.

How do I send an image to the API?

Right now our API doesn’t accept image files. Instead, the closest we can come is passing an Image URL to an Image URL column.

For cross-doc, does the API limit of 125Mb count the source doc or the destination doc?

Only the source doc.

Did this answer your question?