What changed
Cloudflare shipped general availability for Cloudflare Basin on October 1, 2026. The announcement retired three product names: Cloudflare Pipelines becomes Basin Pipelines, R2 Data Catalog becomes Basin Catalog, and R2 SQL becomes Basin SQL. Existing configurations continue to work without changes.
The platform was first announced as the Cloudflare Data Platform during Birthday Week 2025 and spent roughly a year in open beta. GA means it now carries production-grade availability commitments rather than beta-era caveats.
Why Cloudflare built it this way
Two shifts drove the design. First, Apache Iceberg emerged as the standard open table format, making data portable across query engines without vendor lock-in. Second, developers started moving analytical data to R2 Object Storage specifically because R2 carries no egress fees — meaning you can read your data from DuckDB, Snowflake, PyIceberg, or Apache Spark without paying per-gigabyte exit charges.
Those two facts together make a serverless, open-format analytics layer on Cloudflare’s network more practical than it would be on a cloud provider that charges for egress. That is the structural bet Basin is making.
Who it affects
Basin targets three audiences. Developers building event-driven or AI-assisted applications get a data layer that provisions in seconds — no clusters, no polling for resources. Teams running Cloudflare Logpush can route logs through Basin Pipelines, apply SQL transforms on ingest, and store compressed Parquet or Iceberg tables ready for downstream query engines. Enterprises sharing data across regions or cloud providers benefit from free egress and Iceberg’s portability; Julien Grobbelaar, Head of Platform at Bobsled, cited zero egress fees and production-grade reliability as the reason Bobsled chose Basin for cross-platform data distribution.
Basin is not a fit when your workload requires stateful streaming aggregations or schema migrations — Cloudflare lists both as roadmap items, not current capabilities.
Concrete capabilities and limits at GA
Basin Pipelines supports up to 3 GB/s per stream. It accepts events via HTTP endpoints, Workers bindings, or Cloudflare Logpush. A SQL transform runs at ingest time, so you can hash PII, filter error-only rows, or recast timestamps before a single byte lands in storage. Worker bindings are schema-aware: running wrangler types generates TypeScript types from the stream schema, catching type mismatches before deployment. The full ingestion path — catalog, stream, sink, and SQL — is expressible as Terraform.
Basin Catalog is a fully managed Apache Iceberg REST catalog. It handles automatic compaction, per-table compaction policies, snapshot expiration, unreferenced data-file cleanup, and manifest optimization. You create a catalog with a single command:
npx wrangler basin catalog create CATALOG_NAME
Basin SQL is a serverless distributed query engine that scales across Cloudflare’s global network with no clusters to provision. At GA it supports more than 190 scalar and aggregate functions, joins (inner, outer, semi, anti), window functions, CTEs, subqueries, grouping sets, rollups, and a full JSON function suite. A built-in dashboard editor provides syntax highlighting, autocomplete, and exportable results.
Pricing is usage-based: you are billed only when Basin ingests, processes, or queries data. There are no hourly charges or separate infrastructure fees. Per-unit rates are not published in the announcement; check the Basin documentation for current pricing and limits.
Roadmap items — not yet available — include custom partitioning, schema migrations, Iceberg V3 Variant and geospatial types, streaming aggregations, and jurisdiction controls for data sovereignty.
The strongest objection: maturity gaps matter
Teams evaluating Basin against an established AWS S3 and Athena setup will find real gaps at GA. Stateful streaming aggregations, schema migrations, and jurisdiction controls are all on the roadmap, not shipped. If your pipeline depends on any of those today, Basin is a near-term option to watch rather than a drop-in replacement. The trade-off calculus also depends on your existing AWS contracts, team familiarity with Athena, and how much of your current egress cost is actually attributable to cross-tool reads. A lower rate of cross-tool access reduces the egress savings and weakens the migration case.
That said, Anomaly’s co-founder Dax Raad reported replacing a full AWS S3 and Athena setup with Basin Pipelines, Catalog, and SQL, describing the result as “a cleaner, serverless architecture that reliably handles all of our event data.” That is a meaningful signal for teams whose workloads fit within current GA capabilities.
How to start
The three products are available today. You can adopt all three as an end-to-end pipeline or slot individual components into an existing architecture. Basin Catalog alone gives DuckDB a structured, maintenance-free way to read Iceberg tables in R2 — you do not have to use Basin Pipelines or Basin SQL to get value from it.
The most concrete first step for teams already on Cloudflare: route HTTP logs through a Basin Pipeline with a SQL filter, store them as Parquet in Basin Catalog, and run ad-hoc queries in the Basin SQL dashboard editor. That path exercises all three products on data you already produce, with no new instrumentation required.
Follow the Basin getting-started tutorial to ingest your first events, create an Iceberg table, and run your first query. Share feedback in the Cloudflare Developer Discord.
Eagentix helps growth-focused enterprises redesign and automate manual business processes. We combine executive strategy, implementation support, and managed services to build dependable operations across Southeast Asia.
Sources
- Cloudflare Data Platform
- Apache Iceberg
- R2 Object Storage
- Basin tutorial
- Copy link
- Copy link
- Basin Pipelines
- Copy link
- Basin Catalog
- Copy link
- Basin SQL
- Copy link
- Copy link
- Basin documentation
- Cloudflare Developer Discord
- [](
- [](https://blog.cloudflare.com/rss/)[](
- [](https://blog.cloudflare.com/rss/)[](https://x.com/Cloudflare)[](
- [](https://blog.cloudflare.com/rss/)[](https://x.com/Cloudflare)[](https://www.linkedin.com/company/cloudflare-inc-)[](
- [](https://blog.cloudflare.com/rss/)[](https://x.com/Cloudflare)[](https://www.linkedin.com/company/cloudflare-inc-)[](https://www.youtube.com/cloudflare)[](
- [](https://blog.cloudflare.com/rss/)[](https://x.com/Cloudflare)[](https://www.linkedin.com/company/cloudflare-inc-)[](https://www.youtube.com/cloudflare)[](https://instagram.com/cloudflare)[](
- [](https://blog.cloudflare.com/rss/)[](https://x.com/Cloudflare)[](https://www.linkedin.com/company/cloudflare-inc-)[](https://www.youtube.com/cloudflare)[](https://instagram.com/cloudflare)[](https://github.com/cloudflare)[](
- [](https://blog.cloudflare.com/rss/)[](https://x.com/Cloudflare)[](https://www.linkedin.com/company/cloudflare-inc-)[](https://www.youtube.com/cloudflare)[](https://instagram.com/cloudflare)[](https://github.com/cloudflare)[](https://bsky.app/profile/cloudflare.social)[](
- [](https://blog.cloudflare.com/rss/)[](https://x.com/Cloudflare)[](https://www.linkedin.com/company/cloudflare-inc-)[](https://www.youtube.com/cloudflare)[](https://instagram.com/cloudflare)[](https://github.com/cloudflare)[](https://bsky.app/profile/cloudflare.social)[](https://www.threads.com/@cloudflare)[](
