Cut your BigQuery bill, not your queries.
A cost-aware SQL IDE for BigQuery: see the cost while you write, not on the invoice. Per-user budgets, test runs on a small sample for cents on the dollar, autocomplete that knows your schema. The editor is free, forever.
-- the Console shows bytes; we show dollars
SELECT *
SELECT
FROM `ace-analytics.warehouse.events`
WHERE event_date BETWEEN '2019-01-01' AND '2024-12-31' | event_date | user_id | event_name | |
|---|---|---|---|
| 1 | 2024-12-31 | u_8f3c21 | checkout_completed |
| 2 | 2024-12-31 | u_44b7e9 | page_view |
| 3 | 2024-12-30 | u_a01d5c | add_to_cart |
| 4 | 2024-12-30 | u_39cc04 | session_start |
-- new accounts per week
SELECT DATE_TRUNC(signup_date, WEEK) AS week,
COUNT(DISTINCT user_i) AS signups
FROM `ace-analytics.warehouse.users`
GROUP BY week Run this on your own data.
Connect with Google OAuth — no service-account keys to hand over, and results go from BigQuery straight to your browser. Want it fully local? The desktop app keeps tokens in your OS keychain. Just exploring? The Playground is the same IDE on public demo data: no account, no setup.
BigQuery charges by the byte.
Querylab.io shows it in dollars — as you type.
See the cost while you write
Every query, estimated as you type: dollars, not bytes. The per-CTE breakdown points at the expensive part.
Budgets per user, not per project
BigQuery caps every user with the same quota. Querylab.io sets a limit per person: 10 TB a day for your senior analyst, 500 GB for the new hire. Over-budget queries stop before they bill.
A fraction of the data, a fraction of the cost
Set a Tablesample percentage and every large table in the query gets sampled. Querylab.io prices both versions, so you see what you saved. Testing a heavy query shouldn't feel financially risky.
SELECT * FROM `warehouse.events` 80 TB · ~$500 SELECT user_id, ts FROM `warehouse.events` TABLESAMPLE SYSTEM (0.01 PERCENT) 8.0 GB · $0.05 Slots or on-demand? Both prices, before you run.
The on-demand side is a real dry run. The slot side is estimated from query complexity before the run, then replaced with measured slot time after it.
An agent that reads your warehouse before it writes your SQL.
Every answer is a tool trace that ends with something changing in this window — a diff, a price, a new tab, a chart. Watch it work:
It looks your schema up first
Prism AI has to search your real tables and columns before it writes a line of SQL — it is not allowed to guess a column name from training data.
A price on the button
Everything it writes gets a BigQuery dry run. In Approve mode the Run button shows the estimated cost and the row cap before anything executes.
Your own AI subscription
On desktop it drives the agent already on your machine — Claude Code, Codex, Gemini CLI, Copilot or Cursor — through your subscription, without routing your SQL through us.
It sees your rows only if you let it
Schema is shared so it can write correct SQL. Result data is not: the default is to ask you each time, and you can turn it off for good.
Or skip the chat: put the cursor in your SQL, hit , and describe the change. The edit is parsed and checked before you're shown the diff.
The features we'd miss most.
The Console manages your cloud.
Querylab.io is built for writing SQL.
Querylab.io, native on your desktop.
The same IDE without the browser. Your BigQuery credentials and your AI subscriptions stay on your machine.
Apple SiliconWindows & Linux soon | Use the web app instead
Bring your own AI
Prism AI drives the agents already on your machine — Claude Code, Codex, Gemini CLI, Copilot, Cursor. Your subscriptions, your keys.
Read the docs →Existing gcloud auth
Already logged in with gcloud? The app picks it up automatically — no extra sign-in.
Read the docs →Credentials stay local
BigQuery credentials live in your OS keychain, never on our servers.
Read the docs →Native hotkeys
No browser shortcuts getting in the way. No tab to lose.
Read the docs →Your data goes from BigQuery to your browser. Nothing sits in between.
Results never reach us
BigQuery returns rows straight to your browser. Our backend never runs your query and never sees the data.
Credentials
Web: OAuth tokens encrypted with AES-256 at rest. Desktop: your OS keychain. Revoke anytime from your Google Account.
Queries stay local
Tabs, SQL, history and cached schema live on your device. Cloud sync is off unless you turn it on; shared links are encrypted in your browser.
AI is the exception
Prism AI and AI completions send SQL and table names through our backend to the provider you pick. Off until you use them.
The editor is free. Forever.
No credit card, no trial timer, no seat count. Commercial use included.
- The full SQL editor
- Unlimited queries
- Cost preview & per-CTE breakdown
- Schema-aware completions
- Budget limits & per-query caps
- Reservation & model hints
- Prism AI
- Pipe syntax, notebooks & export
Pipe ↔ SQL
Convert BigQuery pipe syntax to standard SQL and back — 100% in your browser. · Docs →
GQL ↔ SQL
Translate BigQuery graph queries to SQL and back — 100% in your browser. · Docs →
Savings Calculator
See what budget limits and dev-mode sampling save your team — 100% in your browser.
Questions? Answers.
Can't find what you're looking for? Reach out.
Why switch from BigQuery Studio?
BigQuery Studio works. Querylab.io makes you faster. Real-time completions from your actual schema, errors caught before you run, cost estimates on every query. The difference between functional and productive.
Can I try it before committing?
There is nothing to commit to — Querylab.io is free, including commercial use. No credit card, no trial timer, no seat count. The Playground lets you explore without even connecting BigQuery.
What makes Prism AI better than Cursor with MCP?
Cursor is great for code — but BigQuery needs more than text completion. Prism AI validates against your schema, catches errors before execution, estimates cost in real-time, and wraps it in a proper SQL IDE: results grid, history, exports. MCP connects AI to data. Prism builds a workflow around it.
How does it reduce BigQuery costs?
Development Mode samples data for 80–95% cheaper testing. Budget limits block runaway queries. Per-CTE breakdown pinpoints what's expensive. Smart recommendations for reservation vs. on-demand billing.
How long does it take to get started?
Two minutes. Sign in with Google, authorize BigQuery, start writing. No installation, no config, no onboarding calls. Schema loads automatically.
Is there a desktop app?
Yes — currently in beta for macOS (Apple Silicon). Credentials stay local in your OS keychain, native hotkeys, and Prism AI works with Claude Code, Gemini CLI, GitHub Copilot, Cursor, or OpenAI Codex. Download →
Get in touch.
Questions about BigQuery costs, enterprise pricing, or something that broke — we read every message.
Email us directly
Response time
Usually within 24 hours, Monday to Friday.
Looking for a demo?
Privacy Policy
Last updated: March 20, 2026
This Privacy Policy explains how Querylab.io ("we", "us", "our") collects, uses, stores, and protects your personal data when you use Querylab.io (the "Service"), whether through the web application, the desktop application (together, the "Application"), or our marketing website at querylab.io (the "Landing Site").
1. Data Controller
Querylab.io is the data controller responsible for your personal data. For questions or requests regarding your data, contact us at [email protected].
2. Information We Collect
2.1 Account Information
- Google OAuth: Email address, display name, and profile picture (collected automatically on first sign-in)
- Google Scopes: We request Google permissions incrementally. Only BigQuery access is required to use the Service; all others are optional and requested only when you use specific features:
- BigQuery - Required to run queries (mandatory)
- Cloud Platform (read-only) - Optional, to list your GCP projects
- Cloud Platform (full) - Optional, for scheduled queries and saved queries
- Google Drive (file-level) - Optional, for exporting results to Google Sheets. This scope only grants access to files you explicitly select or create through Querylab.io, not your entire Drive
2.2 Payment Information
- Stripe processes all payments. We store only your Stripe customer ID and subscription status
- We never see or store your credit card number, CVV, or full billing details
2.3 SQL Queries and Data
- Local storage (default): Your SQL queries, tabs, and query history are stored locally in your browser (localStorage and IndexedDB) or desktop app. We do not have access to this data
- Cloud sync (opt-in): If you enable "Store tabs encrypted on backend" in Settings, your tab data (including SQL query text and editor state) is encrypted with AES-256-CBC on our server before it is stored. Query results (the actual data returned by BigQuery) are never stored on our servers
- Shared queries and notebooks: When you share a query or notebook, it is encrypted client-side using AES-256-GCM. The encryption key exists only in the share URL fragment (never sent to our server). Shared notebooks are sanitized before encryption to remove user-specific fields (e.g., billing project). Shares auto-expire after 7 days
- Saved queries: Saved queries are stored in Google Cloud Dataform repositories within your own GCP project, governed by your Google Cloud IAM policies
- Query results: Query results are returned directly from Google BigQuery to your browser or desktop app. We never see, store, or process your query results
2.4 BigQuery Metadata
- Table names and schemas are cached locally on your device for performance (up to 24 hours)
- This metadata is never sent to our servers. It may be included in Prism AI conversations if you use AI features, in which case it is sent to the AI provider you select (see Section 2.5)
2.5 AI Conversations (Prism AI)
- AI conversations are processed through our backend, which routes requests to the AI provider you select (Anthropic, Google, or OpenAI)
- Conversations are stored locally in your browser (IndexedDB) only. We do not store AI conversations on our servers
- On desktop, you may use CLI providers (e.g., Claude Code) which route conversations directly to the AI provider without passing through our backend. Conversations are still sent to the provider's API
- We use the API tier of each provider, where your data is not used for model training by default. Providers may retain data temporarily for abuse monitoring (typically 30-55 days). See each provider's API data policy: Anthropic, OpenAI, Google
2.6 Analytics
- We collect feature usage and performance metrics (e.g., button clicks, query execution duration, bytes processed) using Google Analytics (GA4) and a custom analytics pipeline
- We use PostHog for anonymous heatmaps (click positions and scroll depth) across the Landing Site and Application. Heatmap data contains no personally identifiable information
- On the Landing Site, PostHog session replay is enabled for visitors who accept cookie consent. This records anonymous interactions (clicks, navigation, screen content) to help us improve the experience. No session replay is recorded for visitors who decline consent
- We never collect: SQL query text, table names, column names, query results, or any of your BigQuery data in analytics
- Cookie consent: Users in the EU/EEA, UK, and Brazil are shown a cookie consent banner (see Section 9 for details)
- Opt-out: Logged-in users can disable analytics entirely in Settings (this fully stops all analytics collection). Landing Site visitors can decline persistent tracking via the cookie consent banner
2.7 Playground Mode (No Account Required)
- Playground users are identified by an anonymous ID. We do not collect personal information or use browser fingerprinting for playground users
- Playground queries are executed on a shared BigQuery project managed by us. Unlike logged-in users (whose queries go directly to their own Google Cloud), playground queries pass through our backend infrastructure
- We may log playground queries for abuse prevention, service improvement, and enforcing fair-use limits. We recommend that you avoid entering sensitive or proprietary information in Playground mode
- We track aggregate usage (bytes processed, query count) to enforce fair-use limits
- Session replay: We use PostHog to record anonymous session replays of playground interactions (UI clicks, navigation, screen content). This helps us understand how users interact with the product. Session replays are not linked to any personal identity. No cookies are used — data is stored in memory only for the duration of the session. Session replay is not enabled for logged-in users in the Application
- Playground data is automatically deleted after a period of inactivity
3. Legal Basis for Processing (GDPR)
| Processing Activity | Legal Basis |
|---|---|
| Account creation and authentication | Contract performance (Art. 6(1)(b)) |
| Payment processing | Contract performance (Art. 6(1)(b)) |
| Cloud sync of tabs (opt-in) | Consent (Art. 6(1)(a)) |
| AI conversation processing | Contract performance (Art. 6(1)(b)) |
| Analytics and product improvement (EU/EEA/UK/Brazil) | Consent (Art. 6(1)(a)) — via cookie consent banner |
| Analytics and product improvement (other regions) | Legitimate interest (Art. 6(1)(f)) |
| Ad conversion measurement (Reddit Ads) | Legitimate interest (Art. 6(1)(f)) |
| Security and abuse prevention | Legitimate interest (Art. 6(1)(f)) |
4. Data Storage and Security
- Desktop app: Refresh tokens and sensitive credentials are stored in your OS keychain (macOS Keychain, Windows Credential Manager, or Linux Secret Service). Google tokens never leave your device
- Web app: Authentication tokens are stored in HTTP-only secure cookies with rotation
- Backend: Data is stored in Google Cloud Platform (Firestore). All data is encrypted at rest by Google Cloud and in transit via TLS
- Cloud sync: Tab data is encrypted with AES-256-CBC using a server-side key before storage
- Shared queries and notebooks: End-to-end encrypted with AES-256-GCM. The decryption key is in the URL fragment and never reaches our servers
- Payments: Processed by Stripe (PCI DSS Level 1 certified)
5. International Data Transfers
Your data may be processed in the United States through our use of Google Cloud Platform, Stripe, and AI providers (Anthropic, Google, OpenAI). These transfers are protected by:
- EU-US Data Privacy Framework (where applicable)
- Standard Contractual Clauses (SCCs) as approved by the European Commission
- The service providers' own GDPR compliance commitments
6. Third-Party Services
| Service | Purpose | Data Shared |
|---|---|---|
| Google Cloud Platform | Authentication, BigQuery access, data storage | Account info, encrypted tab data (if opt-in) |
| Stripe | Payment processing | Billing info (managed by Stripe) |
| Anthropic | AI assistance (Prism AI) | Conversation content (when selected as provider) |
| Google AI (Gemini) | AI assistance (Prism AI) | Conversation content (when selected as provider) |
| OpenAI | AI assistance (Prism AI) | Conversation content (when selected as provider) |
| Google Analytics (GA4) | Product analytics | Anonymous usage metrics (no PII). Cookieless mode for users who decline consent |
| PostHog | Heatmaps, session replay, Landing Site analytics | Anonymous click positions, scroll depth, pageviews. Session recordings for playground users in the Application (memory-only) and consenting visitors on the Landing Site (localStorage). No PII |
| Reddit Ads (Conversions API) | Ad conversion measurement (server-side only) | Hashed email and hashed IP address, user agent. Sent server-to-server on signup and purchase events only — no client-side tracking pixel or cookies |
7. Data Retention
- Account data: Retained while your account is active. Deleted within 30 days of account deletion request
- Payment records: Retained for 7 years per Belgian tax law
- Shared queries and notebooks: Auto-expire and are deleted after 7 days
- Analytics data: Anonymized analytics data is retained without a fixed expiration period, as it contains no personal data (see Section 2.6)
- Playground usage data: Automatically deleted after inactivity
- AI conversations: Stored locally in your browser only. Clearing browser data removes all conversations
8. Your Rights
Under the GDPR and LGPD (Brazil), you have the right to:
- Access: Request a copy of all personal data we hold about you
- Rectification: Correct inaccurate personal data
- Erasure: Request deletion of your personal data ("right to be forgotten")
- Data portability: Receive your data in a structured, machine-readable format
- Restriction: Request restriction of processing in certain circumstances
- Objection: Object to processing based on legitimate interests, including analytics
- Withdraw consent: Where processing is based on consent (e.g., cloud sync), you may withdraw at any time
To exercise these rights, contact [email protected]. We will respond within 30 days as required by GDPR.
9. Cookies
- Essential cookies: Used for authentication and session management. These are strictly necessary and do not require consent
- Analytics cookies: Google Analytics (GA4) may set cookies for usage tracking. On the Landing Site, PostHog uses localStorage (not cookies) for analytics persistence when consent is granted. In the Application, PostHog always uses memory-only persistence (no cookies or localStorage)
- Cookie consent banner: Users in the EU/EEA, UK, and Brazil are shown a consent banner on first visit. Accepting enables persistent identifiers (cookies and localStorage) for cross-session analytics. Declining disables persistent identifiers — anonymous, aggregate analytics data is still collected but cannot be linked across visits. Your choice is stored in localStorage and respected on future visits
- Other regions: Persistent analytics identifiers are enabled by default. Logged-in users can disable all analytics entirely in Settings
- We do not use advertising cookies or third-party tracking cookies
10. Children's Privacy
Querylab.io is not intended for users under 16 years of age. We do not knowingly collect personal data from children. If you believe a child has provided us with personal data, contact us and we will delete it.
11. Data Breach Notification
In the event of a personal data breach that poses a risk to your rights and freedoms, we will notify the relevant supervisory authority within 72 hours and inform affected users without undue delay, as required by applicable data protection laws including GDPR (Articles 33 and 34) and LGPD (Article 48).
12. Changes to This Policy
We may update this Privacy Policy. Material changes will be announced via email at least 30 days in advance. Where required by law, we will obtain your consent before applying changes that affect consent-based processing.
13. Contact
For privacy inquiries or to exercise your rights:
Email: [email protected]
You also have the right to lodge a complaint with the Belgian Data Protection Authority (APD/GBA) at www.dataprotectionauthority.be.
Terms of Service
Last updated: April 30, 2026
These Terms of Service ("Terms") govern your use of Querylab.io (the "Service"). By accessing or using the Service, you agree to these Terms. If you do not agree, do not use the Service.
1. Definitions
- "Service" means the Querylab.io web application, desktop application, and all related services
- "User", "you" means any individual or entity using the Service
- "Content" means SQL queries, data, and other materials you create or upload through the Service
- "Prism AI" means the AI-powered assistant features within the Service
- "Playground" means the limited-access mode available without registration
2. The Service
Querylab.io is a SQL IDE for Google BigQuery with code editing, query execution, cost analysis, and AI assistance. The Service connects to your Google Cloud resources but does not execute queries on its own infrastructure - all query execution occurs within your Google Cloud account.
We depend on third-party services including Google BigQuery, Google Cloud Platform, Stripe, and AI providers (Anthropic, Google, OpenAI). We are not liable for interruptions or changes to these third-party services.
3. Account Registration
- You must authenticate via Google OAuth to create an account
- You are responsible for all activity under your account
- Querylab.io is intended for users 16 years or older
- You must not share your account credentials with others
4. Playground Mode
The Playground provides limited access to the Service without registration. By using the Playground, you agree to these Terms and our Privacy Policy. Playground usage is subject to fair-use limits (currently 5 GB per query, 50 GB per day) and may be restricted or discontinued at our discretion.
Playground queries are executed on shared infrastructure managed by us and are not private. You should not enter sensitive, confidential, or proprietary data in Playground mode. See our Privacy Policy for details on how playground data is handled.
5. Plans and Billing
| Plan | Details |
|---|---|
| Free | Free for individual and commercial use. Includes core SQL IDE features and standard Prism AI quota |
| Teams | Org governance, premium AI quota, and team features. Monthly or annual billing. New business users receive a 30-day free trial (no payment required; automatically converts to Free plan if not upgraded) |
| Enterprise | Seat-based licensing for organizations with custom terms, on-premise deployment, and SLAs |
Stripe processes all payments. Subscriptions auto-renew until cancelled. You may cancel at any time in Settings. See our Refund Policy for cancellation and refund terms.
6. BigQuery Costs
You are solely responsible for all Google BigQuery costs incurred through Querylab.io. While we display cost estimates before query execution, these are approximate and not guarantees. Actual billing is determined by Google. We are not liable for unexpected charges. Report significant estimate-to-actual variances to us at [email protected].
7. Acceptable Use
You agree not to:
- Use the Service for any illegal purpose
- Attempt unauthorized access to our systems, other accounts, or Google Cloud resources you do not own
- Interfere with or disrupt the Service or its infrastructure
- Use automated systems that exceed reasonable usage limits (100 queries per minute)
- Reverse engineer, decompile, or attempt to extract the source code of the Service
- Resell, redistribute, or sublicense access to the Service without our written consent
- Use the Service in violation of Google Cloud or BigQuery terms of service
You represent that you have proper authorization to access all BigQuery resources you query through Querylab.io.
8. AI Features and Data
- Prism AI may process your queries and conversation content via third-party AI providers (Anthropic, Google, or OpenAI). You choose which provider to use
- We access BigQuery metadata (table names, schemas) for intelligent features such as auto-completion and diagnostics. We do not access or store your actual BigQuery data or query results
- AI-generated suggestions (SQL rewrites, explanations, optimizations) are provided as-is. You are responsible for reviewing and validating any AI output before executing it
- See our Privacy Policy for details on data handling
9. Free Tools
Querylab.io may offer free online tools (such as the SQL Pipe Syntax Converter) accessible without registration. These tools are subject to all provisions of these Terms, including but not limited to:
- The underlying software, algorithms, parsers, and code powering these tools are proprietary intellectual property of Querylab.io
- You may not copy, extract, download, decompile, reverse engineer, or redistribute the JavaScript bundles, source code, or any derived works from these tools
- You may not use automated scripts, bots, or scraping tools to interact with these tools beyond normal individual use
- Individual and commercial end-use of these tools is permitted; embedding them in your own product, reselling access, or integrating the underlying code into other products requires our written consent
- We may modify, rate-limit, or discontinue any free tool at any time without notice
Violation of these terms may result in access restrictions and legal action.
10. Intellectual Property
- Our IP: Querylab.io, its software, design, and documentation are our intellectual property. These Terms grant you a limited, non-exclusive, revocable license to use the Service
- Your Content: You retain all rights to your SQL queries, data, and other content. You can export your data at any time via account settings
11. Disclaimer of Warranties
THE SERVICE IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. WE DO NOT WARRANT THAT THE SERVICE WILL BE UNINTERRUPTED, ERROR-FREE, OR THAT COST ESTIMATES WILL BE ACCURATE.
12. Limitation of Liability
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW:
- We are not liable for indirect, incidental, special, consequential, or punitive damages, including lost profits, data loss, or business interruption
- Our total aggregate liability for any claim arising from or relating to the Service is limited to the amount you paid us in the 12 months preceding the claim, or EUR 100, whichever is greater
- This limitation does not apply to damages caused by our gross negligence or willful misconduct, or to any liability that cannot be excluded under applicable law
Nothing in these Terms limits your rights as a consumer under Belgian or EU consumer protection law.
13. Indemnification
You agree to indemnify and hold Querylab.io harmless from any claims, damages, or expenses arising from your violation of these Terms, misuse of the Service, or unauthorized access to BigQuery resources through the Service. This does not apply to claims arising from our gross negligence.
14. Termination
- By you: You may stop using the Service and delete your account at any time. Your data will be handled per our Privacy Policy
- By us: We may suspend or terminate your account for violation of these Terms, with reasonable notice where possible. For paid plans terminated by us without cause, we will provide 30 days notice and a pro-rata refund
- Sections 6, 9, 10, 11, 12, 13, and 15 survive termination
15. Governing Law and Disputes
These Terms are governed by Belgian law. Any disputes shall first be resolved through good-faith negotiation. If negotiation fails, disputes shall be submitted to the courts of Belgium. EU consumers retain the right to bring claims in their country of residence. You may also use the EU Online Dispute Resolution platform at ec.europa.eu/consumers/odr.
16. General Provisions
- Entire agreement: These Terms, together with the Privacy Policy and Refund Policy, constitute the entire agreement between you and Querylab.io
- Severability: If any provision of these Terms is found invalid or unenforceable, the remaining provisions continue in full force
- No waiver: Failure to enforce any provision does not constitute a waiver of that provision
- Assignment: You may not assign your rights under these Terms. We may assign our rights in connection with a merger, acquisition, or sale of assets
- Force majeure: We are not liable for failures or delays caused by circumstances beyond our reasonable control, including natural disasters, wars, pandemics, government actions, or third-party service outages
17. Independence
Querylab.io is an independent product and is not affiliated with, endorsed by, or sponsored by Google LLC, Anthropic, OpenAI, or any other third party.
18. Changes to These Terms
We may update these Terms. Material changes will be announced via email at least 30 days in advance. Continued use of the Service after changes take effect constitutes acceptance. If you do not agree to the updated Terms, you must stop using the Service.
19. Contact
Email: [email protected]