Your SaaS data, as SQL tables.
Query billing, CRM, store and analytics data with SQL. Sync on a schedule or use live API reads where supported, then send results to spreadsheets, AI tools and your apps.
Included on every plan, including Free.

Watch service data become useful tables.
Scroll to follow the same invoices from an API response to a SQL result. Query Streams handles the API work along the way.
Start with the response.
An API returns structured data, often with one object nested inside another. Here, each invoice carries its customer’s ID and name.
Follow the customer ID through the example. It connects the same records in the tables, the cache and the final answer.
application/json[ { "customer": { "id": "C01", "name": "Halden Logistics" }, "amount": 12480.00, "status": "Open" }, { "customer": { "id": "C02", "name": "Castellan Foods" }, "amount": 28900.00, "status": "Overdue" }, { "customer": { "id": "C03", "name": "Northgate Clinics" }, "amount": 17320.80, "status": "Overdue" } ]
Fields find their columns.
Customer details become one table. Invoice amounts and status become another. The customer ID connects them, so you can join the two with SQL.
Select a customer ID in the example to highlight its matching records. Authentication, pagination, retries and backoff are handled for you.
billing.customers3 rows| customer_id | name |
|---|---|
| Halden Logistics | |
| Castellan Foods | |
| Northgate Clinics |
billing.invoices3 rows| customer_id | amount | status |
|---|---|---|
| C01 | 12,480.00 | Open |
| C02 | 28,900.00 | Overdue |
| C03 | 17,320.80 | Overdue |
Choose an ID to see which rows belong together.
Scheduled sync. Or real-time API reads.
Sync data on a schedule and query an encrypted local copy, or enable live API reads for supported services and tables. With live querying configured, the agent can refresh data from the API when a query runs.
Your setup controls freshness and provider calls. Live reads depend on the connector, table, refresh settings and the provider’s rate limits.
Your servicebilling.customers3 rowsbilling.invoices3 rowsLive reads can refresh the local data before SQL runs. Availability and freshness depend on your setup.
Join the tables. Use the answer.
This query joins customers to invoices and sorts the amounts from highest to lowest. The names, values and customer IDs still trace back to the same sample response.
Save the query for Excel, Google Sheets, your AI through MCP, Nova or your own app through the Database REST API. Automation, Reports, Data Alerts and Data Viewer can use the results too.
SELECT c.name AS customer, i.amount, i.status FROM billing.invoices i JOIN billing.customers c ON c.customer_id = i.customer_id ORDER BY i.amount DESC
| Customer | Amount | Status |
|---|---|---|
| Castellan Foods | 28,900.00 | Overdue |
| Northgate Clinics | 17,320.80 | Overdue |
| Halden Logistics | 12,480.00 | Open |
Simplified workflow and sample data. Tables and columns vary by service. Rotating logos show supported API sources. This SQL example uses local tables; scheduled sync and supported live refresh determine how they are updated.
Connect the services you use.
Bring payments, sales, orders and analytics into the same query workspace.
StripePayments and billing
HubSpotCRM and marketing
ShopifyE-commerce
Google AdsAdvertising
Google Analytics 4Web analytics
ShipStationShipping and fulfilment
Google Search ConsoleSEO and search
iTickMarket data
Browse tables. Write SQL. Get answers.
Browse a service’s tables and columns in the Query Builder. Filter invoices, total sales or join sources with the SQL you already use.
- The connector handles the API workAuthentication, pagination, retries and backoff are handled for you, so you can focus on the query.
- Join it with the rest of your dataFederated Queries work with every Query Streams connector. Put SaaS data beside database records, files, logs or another service in one query. Join sources with Federated Queries.
- Save the query onceRun it in the browser, refresh its results in a spreadsheet or call it from your own app.
- Stripe
- stripe.customerspeople and companies you bill
- stripe.subscriptionsrecurring subscriptions
- stripe.invoiceswhat is owed and paid
- HubSpot
- hubspot.contactspeople in the CRM
- hubspot.dealsthe sales pipeline
- Shopify
- shopify.orderswhat the store sold
Sync locally. Keep control of access.
The Network Agent connects to the service on your behalf. It supports scheduled sync and live querying where available, with an encrypted local store for SQL.
- Credentials stay encrypted on the agentConnect using the method offered by the service, such as OAuth or an API key. Colleagues running your queries do not need those credentials.
- Scheduled sync for repeat reportsPoll on a configurable interval and query the agent’s AES-256 encrypted local copy. Repeated reports can reuse synced data, reducing provider calls.
- Live reads when supportedEnable live querying for supported service tables to refresh from the API when needed by a query. Connector support, refresh settings and provider limits determine when a live call is made.
Start with a ready-made query.
Use the connector’s query library for common questions. Run a query as it is, or open it in the Query Builder and adapt it.
Stripe
- Monthly recurring revenue
- Customer lifetime value
- Subscription churn
- Invoice ageing
HubSpot
- Deal pipeline summary
- Lead scoring breakdown
- Email campaign metrics
- Sales rep performance
Shopify
- Product sales by variant
- Customer cohorts
- Inventory levels
- Discount code usage
Google Analytics 4
- Traffic source breakdown
- Conversion funnel
- User engagement
- E-commerce performance
Put the results to work.
One connected service, several ways to use its data. These simplified examples show how saved queries fit different workflows.

In a spreadsheet
Run a saved query in Excel or Google Sheets. Results arrive as ordinary cells, ready for formulas, charts and pivots. Refresh when you need current figures.
| Customer | Amount | Status |
|---|---|---|
| Halden Logistics | 12,480.00 | Open |
| Castellan Foods | 28,900.00 | Overdue |
| Northgate Clinics | 17,320.80 | Overdue |
| Product | Available | Reorder at |
|---|---|---|
| Packing boxes | 12 | 50 |
| Label rolls | 8 | 20 |
| Mailer bags | 24 | 40 |
| Order | Customer | Status |
|---|---|---|
| ORD-7731 | Halden Logistics | Ready |
| ORD-7724 | Castellan Foods | Picking |
| ORD-7719 | Northgate Clinics | Waiting |

With your AI
Run saved queries through your own AI via MCP, or work with Nova, the built-in analyst, on Business and Enterprise plans.

Through a REST API
Give your apps, vendors or factories targeted query results. Their software receives the allowed data; your SQL and source credentials stay private.
Queries read the latest data synced from your service.GET /v1/queries/vendor-invoices?due=this-month200 OK{
"rows": 1,
"data": [
{"invoice":"INV-20481","amount":12480,"status":"Open"}
]
}GET /v1/queries/factory-reorder?warehouse=Berlin200 OK{
"rows": 2,
"data": [
{"product":"Packing boxes","available":12},
{"product":"Label rolls","available":8}
]
}GET /v1/queries/partner-dispatch?ship_to=Montreal200 OK{
"rows": 1,
"data": [
{"order":"ORD-7731","status":"Ready"}
]
}
On a schedule
Schedule delivery of saved-query results to Google Sheets, Smartsheet, Airtable and other destinations, with no one pressing Run.
Need someone else to use the results? Grant permission to run a query. They receive its results with the filters you allow; your SQL and service credentials stay hidden. Sharing slots depend on your plan.
Connect. Sync. Query.
Use your Network Agent to bring service data into the same workspace as your other sources.

Connect the service
Choose the connector and use the sign-in or credential method it offers. The agent stores the credentials encrypted.

Sync and browse
Set the sync interval and any supported live-query options, then browse the service’s tables and columns in the Query Builder.

Run and save a query
Start with a library query or write your own SQL. Use the results in the browser, a spreadsheet or your app.
Questions about the API Connector
Is the API Connector included on Free?
Yes. The API Connector is included on every plan, including Free. Your plan’s source and usage allowances still apply. Compare plan allowances.
Does each query call the service’s API?
It depends on the mode and your setup. With scheduled polling, queries read the latest completed sync in the Network Agent’s encrypted local store, reducing repeated provider calls. For supported services and tables, live querying can refresh data from the API when a query runs. Whether a live call is made depends on the query, connector, table, configured freshness settings and provider limits. This is refresh on query, rather than a continuous push stream.
Do I need to understand each service’s API?
No. The connector handles authentication, pagination and retries, and presents the supported service data as tables and columns. Use a ready-made query or write SQL in the Query Builder. Available tables and fields vary by service.
Can I join service data with my database?
Yes. Federated Queries work with every Query Streams connector, including databases, files, logs and API-connected services. Join them in one SQL statement. Scheduled API sources contribute their latest synced copy. Supported live-query tables can refresh from the API according to the connector and your settings.
Can colleagues use the results without my credentials?
Yes. Grant permission to run a saved query and receive its results. Recipients can use the filters you allow; they do not receive the SQL, API keys or OAuth tokens. You can revoke access at any time. Sharing slots depend on your plan.
How is this different from the Database REST API?
The API Connector brings data from supported services into Query Streams as SQL tables. The Database REST API lets your own apps call saved queries and receive JSON results. You can use them together: connect a service, save a query, then call its results from your app.
Make your service data useful everywhere.
Connect a service, save a query and use the results in spreadsheets, AI tools and your own apps. The API Connector is included on Free.

