Connect any data source, query with SQL, search with embeddings - or ask your AI coding agent in plain English. Ship a chart, a search page, or an API endpoint in minutes.
Connect a data source
Build and publish charts
Embeddings and search
SELECT customers.name, SUM(orders.total) as revenue
FROM my_stripe.customers
JOIN shop.orders ON customers.email = orders.email
GROUP BY customers.name
ORDER BY revenue DESCQuery across Stripe and Shopify in one SQL statement. No ETL required.
Describe the API in a JSON spec. Run one command. rawquery handles auth, pagination, rate limits, and schema evolution.
{
"version": "1",
"base_url": "https://api.umami.is/v1",
"auth": { "type": "bearer" },
"streams": [
{
"name": "websites",
"endpoint": "/websites",
"data_path": "data",
"primary_key": ["id"]
}
]
}$ rq connect umami --spec umami-spec.json \
--auth-token $UMAMI_TOKEN --schedule daily
✓ Connection created
✓ Connection tested
✓ First sync started
✓ Schedule set: daily
$ rq query "SELECT * FROM umami.websites"
──────────────────────
│ id │ domain │
──────────────────────
│ a1b2c3 │ rawquery.dev │
──────────────────────
1 row · 38msAny auth method · REST + GraphQL · auto-pagination · schema evolution
Save a parameterized query. Call it with curl. Get JSON objects back. No backend needed.
SELECT name, revenue
FROM my_stripe.customers
WHERE region = :region AND revenue > :min_revenue
ORDER BY revenue DESC$ curl -H "X-API-Key: rq_..." \
"https://api.rawquery.dev/api/v1/
workspaces/acme/saved-queries/
top-customers/run
?region=EU&min_revenue=1000&format=objects"{
"data": [
{ "name": "Acme Corp", "revenue": 12580.50 },
{ "name": "TechStart", "revenue": 8340.00 }
],
"row_count": 2,
"execution_time_ms": 42.1
}Parameterized SQL in, JSON out. API key auth, rate limits, cost estimation built in.
One command. Claude Code sees your tables, schemas, and connections. Ask questions in plain language, get SQL and results.
$ rq claude-init
✓ Claude Code skill installed
$ claude
> show me customers from Stripe with revenue above 10kSELECT name, email, revenue
FROM my_stripe.customers
WHERE revenue > 10000
ORDER BY revenue DESC──────────────────────────────
│ name │ revenue │
──────────────────────────────
│ Acme Corp │ 42,580.00 │
│ TechStart GmbH │ 28,100.00 │
│ DataFlow SAS │ 15,200.00 │
──────────────────────────────
3 rows · 42msWorks with Claude Code, Cursor, Windsurf. CLI or MCP — your choice.
Create charts from saved queries. Publish pages with a link. Need more? Connect Metabase via wire protocol.
$ rq charts create mrr --query monthly-revenue \
--type line --x month --y revenue
✓ Chart created: mrr
$ rq charts publish mrr
✓ Published: https://rawquery.dev/c/abc123
$ rq pages create weekly-kpis --columns 3 \
--charts mrr:3,churn,signups,arpu,ltv,cac
✓ Page created: weekly-kpis
$ rq pages publish weekly-kpis
✓ Published: https://rawquery.dev/p/xyz789Shareable links, password protection, auto-refresh. No BI tool required.
One product. Ingestion, warehouse, transforms, vector search, charts. End to end.
8 built-in (Postgres, MySQL, Stripe, HubSpot, Salesforce, Shopify, Google Sheets, HTTP/GraphQL) plus any custom API via JSON spec. Push CSV/JSON from CLI.
rq connect + rq push
Monaco editor with schema browser, autocomplete, query history, and CSV/JSON export.
DuckDB-powered
Your data synced to Apache Iceberg on S3. Open format, time travel, no lock-in.
Open table format
SQL-based transforms with DAG visualization, scheduling, and run history. dbt-style, built in.
table | view | incremental
Embed any text column, search with natural language. Publish a search page with one command. Built-in embeddings, no external vector DB.
rq embed + rq search
Create charts from saved queries. Assemble pages on a CSS Grid. Publish with a link. Password protection, auto-refresh.
rq charts + rq pages
Query, sync, push data, connect APIs, manage transforms. One command to set up Claude Code integration.
rq claude-init
Connect any Postgres client. psql, DBeaver, Metabase - they all work.
Postgres protocol on :5433
Data stays in the EU. GDPR-ready. No transatlantic transfers.
Gravelines, FR
You don't need Fivetran, Snowflake, and Metabase. Charts built in. Need more? Connect any BI tool via Postgres wire protocol.
Your data is sensitive. We treat it that way from the ground up.
Industry-leading password hashing. Resistant to brute force and GPU attacks.
Iceberg data files and connector credentials are encrypted at rest with AES-256. Never logged, never exposed via API.
Every query, every sync, every API call is scoped to your workspace. Cross-tenant access is prevented at every layer.
All data stays in the EU (Gravelines, France). No transatlantic transfers. GDPR-ready by default.
Data stored as Apache Iceberg tables on S3. Parquet files you can read with any tool. Leave anytime with your data intact.
Per-workspace query limits, IP-level flood protection, and brute-force detection. Built into every layer.
Found a vulnerability? Email hello@rawquery.dev.
Pay for what you use. No surprises.
For individuals and small projects
50k queries included
500k queries included
Need something specific? Let's talk.
hello@rawquery.devFree tier included. Upgrade anytime from your dashboard.
No credit card required. Free tier available.