Our founder, Wayne, on what people miss about Datacircle: "they don't realize they can actually just download the flat file. It's very cheap, very quick."
It's cheap and quick for us too, and that's not luck. It's because of where the file lives.
The bill nobody sees: egress
Storing a file in the cloud costs almost nothing. Sending it to people is what costs. On Amazon S3, data out to the internet is $0.09 a GB for the first 10 TB a month, after the first 100 GB (aws.amazon.com/s3/pricing, read on 2026-10-09).
Our biggest file is the 50M+ U.S. dataset:
50M+ U.S. B2B: 43.6M people and 6.7M companies in one 9.6 GB zip, a new one every month.
That zip is 9,638,466,575 bytes. On S3, every download of it would cost us 9.6 GB × $0.09 ≈ $0.86. A thousand downloads a month would be 9.6 TB, about $860, to give away a file. The more people want it, the bigger the bill.
R2: the same bucket, no egress
Cloudflare R2 speaks the S3 API, and its pricing page says: "Egressing directly from R2, including via the Workers API, S3 API, and r2.dev domains does not incur data transfer (egress) charges and is free." (developers.cloudflare.com/r2/pricing, read on 2026-10-09.) What's left is storage, $0.015 a GB-month with 10 GB free, and reads, $0.36 per million with 10 million free.
Here is what our bucket held on 2026-10-09, listed with list_objects_v2:
| What | Key | Size |
|---|---|---|
| The 50M+ U.S. dataset, October | 2026-10/us_dataset.zip |
9.64 GB |
| The free 10M+ U.S. dataset, October | 2026-10/us_smb_mid_market.zip |
2.27 GB |
| The co-op files, a new one every day | daily/<day>/coop_<provider>.parquet |
52 MB for the biggest |
| The free lists we give away on LinkedIn | free-lists/<day>-<list>/<day>-<list>.zip |
1 to 5 MB each |
122 objects, 28.2 GB in all. At $0.015 a GB-month, that's at most 42 cents a month to store, before the free 10 GB. The egress line is zero, whatever happens.
How a download works
Our server never touches the bytes. When you click Download on your dashboard, or call the API, it checks the file is unlocked for your workspace, writes down the download, and signs a link to R2 that works for one hour:
def get_presigned_url(*, key):
s3 = boto3.client(
"s3",
endpoint_url=R2_ENDPOINT,
aws_access_key_id=R2_ACCESS_KEY_ID,
aws_secret_access_key=R2_SECRET_ACCESS_KEY,
region_name="auto",
)
return s3.generate_presigned_url("get_object", Params={"Bucket": R2_BUCKET, "Key": key}, ExpiresIn=PRESIGNED_URL_EXPIRY)
That's boto3, the AWS library, pointed at R2's endpoint. Your browser then downloads from Cloudflare directly. Our VPS signs a few hundred bytes; it never streams a 9.6 GB zip, so its bandwidth isn't a cost either.
What it has saved so far
Live's database counts 248 download links handed out to 20 accounts since 2026-09-17. 237 of them were for September's free 10M+ file (2.8 GB), 9 for October's (2.3 GB). A link isn't always a finished download, but if each one was, that's about 683 GB. On S3: about $60. On R2: $0.
$60 is small. What matters is that the number stays at zero however many people come.
Why a co-op needs it
Datacircle is a data co-op:
Step 1: Query your favorite B2B data APIs through us. Same request, same price, no markup.
Step 2: You're DONE. Every morning, you get the flat file of your data plus everyone else's.
No markup means there is no margin on the calls to pay anyone's downloads with. Step 2 hands every member a new file every morning. That only works if a download costs us nothing, and on R2 it does.
Very quick
We timed it on the day we wrote this: the October 10M+ zip, 2,271,875,329 bytes, from R2 to the Mac this post was written on, in 122 seconds. 18.7 MB/s. Cloudflare's network serves it, so your connection is the limit, not us.
How you benefit
Free: 10M+ U.S. B2B leads, as a flat file. Download it at datacircle.dev.
Sign up with your work email, open your dashboard, click Download. Or from the API, with your key (Files):
curl https://api.datacircle.dev/files/ -H "Authorization: Token $DATACIRCLE_API_KEY"
curl -X POST https://api.datacircle.dev/files/$FILE_ID/download-link/ \
-H "Authorization: Token $DATACIRCLE_API_KEY"
The second call returns a download url valid for one hour. Two minutes later you have 9.5M people and 1.75M companies on your disk, in two Parquet files, and every question you ask them is free. What you can do with that is the next post: the benefit of flat files.