How to Connect Airtable to Power BI
Connecting your Airtable base to Power BI turns your flexible, easy-to-use data into powerful, interactive visualizations. This allows you to move beyond tracking data in Airtable and start analyzing it to find trends, create executive dashboards, and make smarter decisions. This guide will walk you through a detailed, step-by-step method for creating that connection and even show you how to handle a common hurdle: fetching more than 100 records.
Why Connect Airtable to Power BI?
Airtable is fantastic for organizing projects, tracking inventory, or managing a simple CRM. It is flexible and collaborative. Power BI, on the other hand, is a business analytics powerhouse designed for in-depth data exploration and reporting.
By bringing them together, you get the best of both worlds:
- Advanced Visualizations: Create sophisticated charts, graphs, and maps that aren't possible within Airtable natively.
- Interactive Dashboards: Build dynamic dashboards that let stakeholders click, filter, and drill down into the data to explore insights for themselves.
- Data Consolidation: Combine your Airtable data with other sources (like Google Analytics, Salesforce, or Excel) within Power BI for a complete view of your business performance.
- Scheduled Refreshes: Set up your Power BI reports to automatically pull the latest data from Airtable, ensuring your analysis is always up to date without manual exporting and importing.
Method 1: Using the Airtable API and Power BI's Web Connector
The most direct way to connect Airtable and Power BI is by using Airtable's Application Programming Interface (API) with Power BI's built-in web data connector. This method is free and gives you full control, but it does require a few specific steps. Don't worry, we'll walk through each one.
Part 1: Get Your Airtable Credentials
Before you jump into Power BI, you need three key pieces of information from your Airtable account: your Personal Access Token, your Base ID, and your Table Name.
1. Create a Personal Access Token (PAT)
Airtable is moving from API keys to more secure Personal Access Tokens (PATs) for authenticating with its API. To create one:
- Log into your Airtable account and navigate to your developer hub, or go directly to airtable.com/create/tokens.
- Click "Create new token."
- Give your token a descriptive name, like "Power BI Connection."
- For Scopes, you need to grant the correct permissions. For reading data, you only need to add
data.records:read. - For Access, select the specific Base you want to connect to Power BI. This improves security by restricting the token's access.
- Click "Create token" and copy it immediately. Store it somewhere safe - Airtable won't show it to you again.
2. Find Your Base ID
Each Airtable base has a unique ID. The easiest way to find it is through the API documentation for your base.
- Open the Airtable base you want to connect to.
- Click the Help button (the question mark
?) in the top-right corner. - Select "API documentation" from the menu.
- The documentation page will open in a new tab. Your Base ID starts with
appand is prominently displayed in the introduction and in the example URLs.
3. Find Your Table Name
This is simply the name of the table within your base that you want to pull data from. Be sure to use the exact name, including spacing and capitalization. In the API documentation, you can see all your table names listed on the left-hand menu.
Now you have everything you need: a Personal Access Token, a Base ID, and a Table Name. Let's head over to Power BI.
Part 2: Connect Power BI to the Airtable API
With your credentials in hand, it's time to set up the connection in Power BI Desktop.
- Open Power BI Desktop and go to the "Home" tab.
- Click "Get Data" and select "Web" from the list.
- A dialog box will appear. Select the "Advanced" option.
- Now, let's construct the URL. Under "URL parts," enter the API URL for your Airtable table. It follows this structure:
https://api.airtable.com/v0/<em>{YOUR_BASE_ID}</em>/<em>{YOUR_TABLE_NAME}</em> - Replace
<em>{YOUR_BASE_ID}</em>and<em>{YOUR_TABLE_NAME}</em>with the information you just found. Be sure to URL-encode your table name if it has spaces (e.g., "My Table" becomes "My%20Table"). - Next, we need to add the authentication header. In the "HTTP request header parameters" section, add the following:
- Click "OK". Power BI will connect to Airtable and the Power Query Editor will open with the data it retrieved.
Part 3: Transform the JSON Data in Power Query
The data from Airtable arrives in a format called JSON, which looks a bit jumbled at first. Power Query is where you clean and shape this data into a standard table format.
- In the Power Query Editor, you'll see a column named
records. This contains all your data. - First, convert this top-level data into a readable list. Right-click the
recordscolumn header and select "Drill Down." You should now see a list of "Records." - At the top of the Power Query screen, click "To Table" to convert this list into a table with rows. Click "OK" on the pop-up.
- You'll now have a single column (likely named
Column1) containing records. Find the expand icon (two opposing arrows) in the column header. Click it. - A dropdown will appear. You want to expand the "fields" record, which holds your actual Airtable fields. Uncheck all others and click "OK."
- Click the expand icon in the new
fieldsheader. This time, Power Query will show you all the fields from your Airtable table. Uncheck "Use original column name as prefix" to keep your column names clean, and click "OK."
Success! You should now see all your Airtable data laid out in a clean, traditional table format, ready for analysis and visualization. Click "Close & Apply" in the top-left corner to load the data into Power BI.
Part 4: Handling Pagination (Fetching More Than 100 Rows)
Here's a critical detail: by default, the Airtable API only sends 100 records at a time. If your table has more than 100 rows, you've only loaded the first page. To get everything, you need to tell Power Query to keep asking for the "next page" until there are no more pages left. This is called pagination, and it requires a custom M code function.
Here's how to build a function in Power Query to handle it:
- In Power Query, go to the "Home" tab, click "New Source" > "Blank Query."
- Right-click the new query in the left pane and rename it to "AirtablePaginator".
- Click on the "AirtablePaginator" query, then click "Advanced Editor" from the "Home" tab.
- Erase the default text and paste in the following M code. Remember to replace the placeholder Base ID and Token.
(BaseID as text, TableName as text, Token as text) =>
let
// Recursive function to fetch data page by page
fetchPages = (url as text) as list =>
let
Source = Json.Document(Web.Contents(url, [Headers=[Authorization="Bearer " & Token]])),
records = Source[records],
offset = try Source[offset] otherwise null,
result = records & fetchPages("https://api.airtable.com/v0/" & BaseID & "/" & TableName & "?offset=" & offset)
in
result,
// Initial API call
initialUrl = "https://api.airtable.com/v0/" & BaseID & "/" & TableName,
allRecords = fetchPages(initialUrl),
// Transform JSON records to a table
table = Table.FromList(allRecords, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
expandedFields = Table.ExpandRecordColumn(table, "Column1", {"fields"}, {"fields"}),
expandedRecords = Table.ExpandRecordColumn(expandedFields, "fields", Record.FieldNames(expandedFields{0}[fields]))
in
expandedRecordsAfter pasting the code, click "Done." You have now created a custom function! To use it:
- Create another "Blank Query".
- Go to the "Advanced Editor" for this new query.
- Erase the contents and type the following, replacing the placeholders with your actual credentials:
let
Source = AirtablePaginator("YOUR_BASE_ID", "YOUR_TABLE_NAME", "YOUR_PERSONAL_ACCESS_TOKEN")
in
SourceClick "Done." Power Query will now use your function to fetch all pages of data from your Airtable table automatically. This query is now the one you should use for your reporting, as it contains all of your records.
Method 2: Using a Third-Party Connector
If the API method feels too technical or you're managing dozens of connections, a third-party service can simplify the process significantly. These tools are built specifically to bridge the gap between platforms like Airtable and Power BI. They handle all the complexities like API authentication and pagination for you automatically.
Examples of services include:
- CData Power BI Connectors: Provides a dedicated connector for Airtable that installs directly into Power BI, making "Airtable" appear as an option in the "Get Data" list.
- Unito: A workflow automation tool that can sync Airtable data not just to Power BI but to many other tools, keeping data consistent across your software stack.
- Power Automate: Microsoft’s own automation tool can be used to set up a flow that periodically pushes Airtable data into a Power BI dataset.
The main drawback of these services is that they typically involve a monthly subscription fee. However, if you value ease of use and time savings, they are an excellent alternative.
Final Thoughts
You can now link the structured, flexible data in your Airtable bases directly to Power BI's powerful analytics engine. By using either the direct API connection to handle every detail yourself or a third-party connector to speed things up, you can start building meaningful reports that translate your operational data into strategic insights.
Working with data connections, API limits, and data transformation can often feel like a full-time job. At Graphed, we built a tool to eliminate that friction. Instead of wrestling with connectors and custom Power Query functions, you can connect your marketing and sales data sources in seconds and use simple, natural language to create real-time dashboards. Just tell our AI data analyst - "show me last month's lead performance by channel" - and get an instant visualization, allowing you to focus on insights, not manual setup.
Related Articles
What SEO Tools Work with Google Analytics?
Discover which SEO tools integrate seamlessly with Google Analytics to provide a comprehensive view of your site's performance. Optimize your SEO strategy now!
Looker Studio vs Metabase: Which BI Tool Actually Fits Your Team?
Looker Studio and Metabase both help you turn raw data into dashboards, but they take completely different approaches. This guide breaks down where each tool fits, what they are good at, and which one matches your actual workflow.
How to Create a Photo Album in Meta Business Suite
How to create a photo album in Meta Business Suite — step-by-step guide to organizing Facebook and Instagram photos into albums for your business page.