Data Sources are the engine of the Baserow Application Builder. They act as the connection pipeline that fetches specific data from your backend database tables and delivers it to your frontend application pages.
This guide covers how to connect your application to your database to display, filter, and interact with real-time data.
In the Baserow Application Builder, Data Sources act as the bridge that fetches information from your database so it can be displayed by elements (like tables, forms, or text fields).
Without a data source, your application is a static page; with one, it becomes a dynamic tool that can display, filter, and manipulate live records. They allow you to fetch specific data, filter it, summarize it, and display it to your users in real-time.
When adding a data source, you must choose an Action. This determines what kind of data is returned to your application.
| Action | Description | Best for |
|---|---|---|
| List multiple rows | Retrieves a page of rows from a specific table. | Displaying grids, galleries, or lists of items (e.g., “All Products”). |
| Get single row | Retrieves one specific row based on a Row ID. | Detail pages (e.g., “Product Details” or “User Profile”). |
| Summarize field | Calculates aggregate statistics (Sum, Avg, Count) across rows. | Dashboards and KPI cards (e.g., “Total Revenue” or “Open Tickets”). |

You can add multiple data sources to a single page.
Sum, Average, Min, Max, Count, Empty)./product/:id).
Leave this value empty to return the first row.

Filters allow you to control exactly which rows are passed to your application. You can define static conditions (e.g., Status is Active) using specific fields or dynamic filters using formulas.
Learn more: Filter rows by field
Filters in the Application Builder work in conjunction with filters in your Database Views. It is important to understand how Data Source filters interact with your underlying Database Views.
| Configuration | Result |
|---|---|
| Table only (No View selected) | The application receives all raw data from the table. Any filters you add in the Application Builder are the only filters applied. |
| Table + View | *AND Logic applies. Rows must match the Database View filters AND the Application Builder filters to be visible. If a row is hidden in the Database View, the Application Builder cannot see it. |
Best Practice: If your Database View already filters for “Active Projects,” you do not need to repeat that filter in the App Builder. Only add new filters if you need to narrow the list further.
Learn more: Database Views
For advanced use cases, you can switch a filter value to “Formula” mode by clicking the ∑ (Sum) icon. This allows you to filter based on dynamic user inputs or page parameters, such as Page Parameters or logged-in user attributes.
Click the Sum (∑) symbol next to the value input to switch to formula mode.

Sorting is available for the List multiple rows action.
You can order your data (e.g., Alphabetical, Newest First) directly in the source configuration.
Sorting determines the order in which items appear. You can add multiple sort layers (e.g., sort by “Status,” then by “Date Created”).
Similar to filtering, the Application Builder respects the database structure but gives priority to local settings:
To add a sort, click Sorts → Add additional sort in the Data Source panel.
You can enable search functionality within your data source to let users find specific items. The Search configuration allows you to define which fields should be queried when a user searches a list.

Available for the “List multiple rows” action.
If you select List multiple rows as your action, you can define the default result count. This is the default number of records this data source will fetch on your page.
Setting the value to 0 and using it on a collection element will improve performance on page load by only fetching the records when the element is paginated.
By default, a data source belongs to the specific page where you create it. However, you can create Shared Data Sources to use the same data connection across multiple pages.
To share a source: Go to the Data Sources tab and toggle the Share between pages option for the specific source.
You set up the connection once (including filters and sorts) and reuse it everywhere. This saves time and ensures consistency.

If you change your database structure (e.g., adding a new column to a table), your Data Source might not see it immediately.
Click Refresh fields from data source in the General panel to update the schema connection. It verifies if there have been any changes to the data in the source since it was last retrieved. This updates the schema in the editor so you can map elements to the new fields.

If a data source is no longer needed:
This permanently removes the connection from the application. Any elements connected to this source will stop displaying data.
Check your filters. If you selected a Database View that is empty, or applied conflicting filters (e.g., “Status is Active” AND “Status is Archived”), no data will return.
No. Summarizing performs the calculation on the backend and sends only the final number to the frontend, which is efficient for performance. Learn more about field summaries.
Check if you have selected a View in your Data Source configuration. If the row is filtered out of that View in the database, the Application Builder cannot access it. If you selected a Database View that already has strict filters, and then added more filters in the Application Builder, you may have filtered out all records. Try removing the Application Builder filters or selecting “None” for the View
Yes, but only if you mark it as a Shared Data Source. Otherwise, data sources are scoped to the page where they were created.
Yes. If you do not provide a Row ID (either a static number or a dynamic parameter), the data source will simply return the first row found in the table.
Yes. The Application Builder reflects live data. If you use a Form or Input element to modify a record, that change is immediately saved to your Baserow database.
No. The connection is live. If you update a record in your database, the change is reflected in the application immediately upon the next refresh or page load. Learn more about when you need to publish.
Yes. You can use a Filter where a field (like “Owner”) equals the User Source ID. This ensures users only see their own data.
If the Row ID field is left empty, the data source will simply return the first row found in the table.
Still need help? If you’re looking for something else, please feel free to make recommendations or ask us questions; we’re ready to assist you.