Free forever·No credit card·2-min setup·EU-hostedStart free
rawquery
vsFivetran
Compare · Managed data ingestion

rawquery vs Fivetran

Fivetran moves data from hundreds of SaaS sources into the warehouse you already own. rawquery is the warehouse: ingestion lands directly in Iceberg, queryable on arrival. If you already run a warehouse, Fivetran is the right shape. If you don't yet, paying for two products to get one answer is the thing we fix.

Fivetran path
Fivetraningest only
lands into ↓
Snowflake / BigQuery / ...you pay

2 products minimum.
MAR billing + warehouse credits.

rawquery
Ingest · built-in + JSON spec
Store · Iceberg on S3
Compute · DuckDB
Transform
Serve · REST + wire

1 product, flat pricing.
Queryable on arrival.

TL;DR

  • Pick rawquery if you want one managed product for the whole pipeline, flat pricing, EU jurisdiction, and you can write a JSON spec for the API we don't ship a connector for.
  • Pick Fivetran if you already run a cloud warehouse, need 500+ pre-built connectors with commercial SLAs, rely on log-based CDC for enterprise databases, or cannot tolerate the risk of maintaining a custom connector yourself.

Feature-by-feature

DimensionrawqueryFivetran
ScopeIngest + store + compute + transform + serveIngest only
PricingFlat monthlyMonthly Active Rows (MAR)
Built-in connectors8 + HTTP / GraphQL spec500+
Custom APIJSON spec fileFunctions on Lambda / GCP / Azure
Database CDCPK + updated_at cursorLog-based (WAL, binlog, redo)
DestinationIceberg on S3 (included)Your warehouse (you pay separately)
JurisdictionEU-hosted (Frankfurt)US (Fivetran Inc.)
Self-serveSign up, connect, syncFree < 500k MAR; sales above

Different products, different scope

Fivetran's product ends where your warehouse begins. The data lands, and from there you still need a warehouse to store it, a transformation layer (dbt) to model it, and a BI tool to query it. Three vendors, three bills, three sets of credentials.

rawquery consolidates those four layers into one product. Ingestion lands in Apache Iceberg on S3. DuckDB queries the same tables in-process. Transforms run as SQL with dependency resolution. Charts publish to a URL. One bill, one login, one place to look when something breaks.

The MAR problem

Fivetran prices by Monthly Active Rows: the number of distinct rows inserted, updated, or deleted in your destination within a calendar month. A chatty source (Salesforce activity history, event logs, frequently updated CRM records) can push MAR 10x above the underlying row count you care about. The bill follows.

rawquery's plans bill storage (rows at rest) and compute (queries you run). Sync volume is included within plan caps, visible in a usage dashboard, and does not move the price line unless you explicitly upgrade.

The 501st connector

Fivetran ships 500+ pre-built connectors. The one you need is usually number 501. Their answer is Fivetran Functions: a serverless function you build, own, and operate in AWS Lambda / GCP Functions / Azure Functions. That works, but you are writing and maintaining code, just in a different runtime.

rawquery ships 8 built-in connectors and one escape hatch: a JSON spec format that describes any REST or GraphQL API: base URL, auth mode, pagination strategy, streams, field mapping, rate limits. No Python, no Lambda, no container.

bash
# Describe your API once
cat > spec.json <<'EOF'
{
"version": "1",
"base_url": "https://your-api.com/v1",
"auth": { "type": "bearer" },
"streams": [
{ "name": "users", "endpoint": "/users", "data_path": "data", "primary_key": ["id"] }
]
}
EOF
# Connect and schedule
rq connect my-api --spec spec.json --auth-token $TOKEN --schedule daily

Where Fivetran still wins

  • Connector breadth. 500+ sources, including NetSuite, Workday, Jira, SAP, Marketo, Braze, Mixpanel, Zendesk, and long-tail enterprise apps we don't ship and won't ship soon.
  • Log-based CDC. Their database CDC uses WAL / binlog / redo-log readers with well-understood failure modes and replication slot management. Our incremental sync uses primary-key cursors. Fine for most workloads, different mechanism.
  • Connector SLAs. When Stripe ships a breaking API change, Fivetran's team fixes it for you. With a custom JSON spec, that job is yours.
  • Existing warehouse. If you already own Snowflake / BigQuery / Databricks, Fivetran is the right shape. rawquery is not a landing layer for someone else's warehouse.
  • Enterprise posture.SOC 2 Type II, HIPAA, column-level PII hashing in transit, private-link connectivity to major clouds.

Try rawquery

bash
# Install the CLI
curl -sSL rawquery.dev/install.sh | sh
# Connect your SaaS source
rq connections create my-stripe --type stripe -p api_key=sk_live_xxx
rq connections sync my-stripe
# Query it. No warehouse to buy separately
rq query "SELECT status, count(*) FROM my_stripe.subscriptions GROUP BY 1"