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.

A cloud on a tall pedestal; a dotted trail of data falls from it into a small agent block and continues to a stacked-disc database with a gridded sheet leaning against it

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.

Stripe

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.

Nested JSON
API responseapplication/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" }
]
3 invoices3 nested customers
Shaped by Query Streams

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.

Related tables
billing.customers3 rows
customer_idname
Halden Logistics
Castellan Foods
Northgate Clinics
customer_id
billing.invoices3 rows
customer_idamountstatus
C0112,480.00Open
C0228,900.00Overdue
C0317,320.80Overdue

Choose an ID to see which rows belong together.

Inside your network

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.

Polling and live API reads
Your service
Polling or live reads
Query StreamsNetwork Agent
AES-256 at restInside your network
billing.customers3 rows
C01C02C03
billing.invoices3 rows
C0112,480.00C0228,900.00C0317,320.80
Scheduled pollingSync at your chosen intervalLive API readsRefresh on query, when supported

Live reads can refresh the local data before SQL runs. Availability and freshness depend on your setup.

Ready for SQL

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.

SQL and its result
Your SQLReads the local copy
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
One joined result3 rows · amount descending
CustomerAmountStatus
Castellan Foods28,900.00Overdue
Northgate Clinics17,320.80Overdue
Halden Logistics12,480.00Open

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.
Service data, arranged as tablesSimplified illustration; available tables vary by service
  • 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
A cloud service connects through the office wall to the Network Agent, then to a spreadsheet on a desk

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.

Illustrative examples
Excel and Google Sheets add-ins

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.

Illustrative examples
MCP server for your AI tools

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.
Illustrative examples
Database REST API

On a schedule

Schedule delivery of saved-query results to Google Sheets, Smartsheet, Airtable and other destinations, with no one pressing Run.

Illustrative examples
Schedule syncs with Automation

Connect. Sync. Query.

Use your Network Agent to bring service data into the same workspace as your other sources.

  1. Connect the service

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

  2. 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.

  3. 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.

Get the free plan