Data Transfer Limit

Every day, Tabidoo measures how much data your account loads from the database. When the daily volume is used up, the API, workflows, and MCP cannot load more data until the next day. Saving and editing data still work.

This is the limit that integrations usually hit. Working in the Tabidoo application in your browser almost never reaches it – the application loads data in small pages, and it may load up to 5Γ— the limit.

The limit resets every day at midnight UTC.

Check where you stand

Click your avatar β†’ Data usage β†’ Consumption β†’ Loaded data. You see how much data you have loaded today and your daily limit. Click the row to see:

  • the history – Today, This month, 6 months,
  • the top consumers – by Source (an integration, a workflow, MCP, or System), by Application, or by User.

The top consumers usually tell you right away which integration or workflow to look at.

In a script, you can read the same value:

const limits = await doo.environment.getCurrentUserTechnicalLimits();
const data = limits.find(l => l.type === 'getDataResponseCharsMB' && l.userLimitTimeUnit === 'day');
console.log(`${data.value} MB of ${data.limit} MB loaded today`);

What is counted

  • Data loaded by the public API (your integrations, Make, Zapier), by workflows, by MCP and AI assistants, and by system recalculations after a record change.
  • The volume is measured as the data leaves the database – before compression, in characters. It is therefore higher than what you see in your browser or HTTP client.
  • The volume is added up after the data is loaded. One large request always finishes; the next one is refused once the budget is used up.
  • Attachments are not counted here. They have their own daily limit, Loaded attachments.
  • The limit belongs to the application owner. Reads of all users in all your applications add up into one budget.

What typically uses it up

  • An integration re-reading a whole table on a schedule. Every 15 minutes means up to 96 full reads of the table a day.
  • A workflow reading a table inside a loop. Processing 1,000 records and reading a 5,000-record lookup table for each of them loads 5 million records in one run.
  • A script that loads whole records only to compute a total or a count.
  • An AI assistant or MCP tool pointed at a large table. It reads whole records with all fields.
  • System recalculations. When records change, Tabidoo recalculates the values that depend on them, and this loads data too. In the top consumers, it is shown as the source System. A high value usually means that many records were changed at once, for example by an import or a bulk update.

How to reduce it

Ordered by how much they usually save:

  1. Read only what changed. Filter on the date of the last change and load only the records changed since the previous run.
  2. Filter on the server. Send the filter to Tabidoo instead of loading everything and filtering in your code. Data you throw away still counts.
  3. Load only the fields you need. In scripts, use loadFields. Wide records with long text fields cost many times more than a few columns.
  4. Ask for counts and totals instead of records – in scripts, doo.table.getCount and doo.table.getDataSummary.
  5. Read lookup tables once per run, not once per record.
  6. Page through large tables – in scripts, limit and skip – and process each page before you load the next one.
  7. Run less often. Every 15 minutes instead of every minute uses one fifteenth of the budget.

For the REST API, see the API documentation for the matching parameters.

An example – a lookup table read once instead of once per record:

// Expensive – reads the price list again for every order
for (const order of orders) {
const prices = (await doo.table.getData('priceList', { limit: 5000 })).data;
// ...
}

// Cheap – reads only the needed fields of the price list once
const prices = (await doo.table.getData('priceList', {
limit: 5000,
loadFields: ['code', 'price']
})).data;
for (const order of orders) {
// ...
}

Frequently asked

Does this limit the number of API calls? No. It measures the volume of data. How many requests you may send is a separate rate limit – see Limits in Tabidoo.

Does deleting records help? No. This limit is about how much you load per day, not how much you store.

Is it per user or per application? Per application owner. Reads of all users and all your applications add up into one budget.

When does it reset? Every day at midnight UTC.

Can I get a higher volume? Contact us at support@tabidoo.cloud.

See also