What is this body?
Request = what a client sends to the backend. Response = what the API returns. Advice and copy-optimize follow this choice.
Response body
Valid JSON — returned by the API
Pretty printing costs +904 B vs minified (2.13 KB).
Size analysis
Measured in your browser, nothing uploaded
Trimmable
Bloat score weighs whitespace, null fields, base64 blobs, verbose timestamps and repeated keys against the total payload size.
Serialization & Compression Matrix
Live benchmark across text, binary, and stream compression codecs
Raw JSON
TextUncompressed original payload
3,082 bytes on wire
Minified JSON
TextWhitespace stripped
2,178 bytes on wire
MessagePack
BinaryStandard compact binary JSON equivalent
0 bytes on wire
CBOR
BinaryConcise Binary Object Representation (RFC 8949)
0 bytes on wire
Gzip (Level 6)
CompressedUbiquitous HTTP/1.1 & HTTP/2 compression
0 bytes on wire
Brotli (est.)
CompressedModern web standard, higher ratio for text
0 bytes on wire
Zstandard (est.)
CompressedNext-gen HTTP/3 compression — estimated from Brotli ratio
0 bytes on wire
Field-level size breakdown
Top JSON fields and nested paths contributing the most bytes to your payload
| Field / Path | Count | Size | % of Total |
|---|---|---|---|
| results | ×1 | 2.10 KB | 70% |
| results[*].preferences | ×8 | 528 B | 17% |
| results[*].created_at | ×8 | 312 B | 10% |
| results[*].updated_at | ×8 | 312 B | 10% |
| results[*].email_address | ×8 | 280 B | 9% |
| results[*].full_name | ×8 | 216 B | 7% |
| results[*].last_login_ip | ×8 | 160 B | 5% |
| results[*].preferences.newsletter | ×8 | 144 B | 5% |
| results[*].avatar_url | ×8 | 136 B | 4% |
| results[*].preferences.locale | ×8 | 128 B | 4% |
Traffic simulator
Model your monthly load
What-if scenarios
Monthly bandwidth
86.11 GB3082 bytes per response
Monthly requests
30.00M20/user/day × 30 days
Estimated peak RPS
23uniform distribution, 2× peak factor
Mobile & Network Latency Simulator
Estimated download times for 3.01 KB on the wire, including TCP slow-start round trips
Slow 3G
Emerging markets / weak mobile signal (400 Kbps, 400ms RTT)
Fast 3G
Typical 3G connection (1.6 Mbps, 150ms RTT)
4G / LTE
Standard mobile LTE (12 Mbps, 50ms RTT)
5G / Fiber
High-speed broadband or 5G (100 Mbps, 15ms RTT)
Satellite / Starlink
Satellite link with propagation delay (25 Mbps, 220ms RTT)
Monthly cost comparison
Estimates · 86.11 GB egress · best value is per architecture group
| Provider | Plan | Included | Egress cost | Request cost | Total monthly | Per 1M requests |
|---|---|---|---|---|---|---|
| Edge & CDN | ||||||
Cloudflare CDNCloudflare does not bill for CDN cache egress globally on any plan tier. Workers, R2, and Images are separate meters.Best Value | CDN (Free / Pro / Biz zones) | Unmetered CDN egress | $0.00 $0.00 / GB | $0.00 $0.00 | $0.00 | $0.00 |
Azure CDNStandard Microsoft CDN Zone 1 (NA/EU) list egress is $0.081/GB; Zone 2 (APAC/Japan) is $0.117/GB; Zone 3 (LATAM) is $0.160/GB. | Microsoft Standard | None | $6.97 $0.081 / GB | $0.00 included | $6.97 | $0.23 |
GCP Cloud CDNNorth America/Europe cache egress: $0.08/GiB; Asia-Pacific: $0.12/GiB; South America: $0.15/GiB. | Cache egress | None | $6.89 $0.080 / GB | $22.50 $0.0075 / 10k | $29.39 | $0.98 |
AWS CloudFrontAlways-free 1 TB/month globally. Baseline US/EU is $0.085/GB; APAC (India/Japan/Singapore) averages $0.120–$0.140/GB; LATAM is $0.110/GB. | Pay-as-you-go | 1 TB / month (Always Free) | $0.00 $0.085 / GB | $30.00 $0.0100 / 10k | $30.00 | $1.00 |
FastlyNorth America & Europe is $0.12/GB; Asia/ANZ is $0.19/GB; South America is $0.19/GB. Requests are $0.0075/10k. | Pay-as-you-go | $50 free trial credit | $10.33 $0.120 / GB | $22.50 $0.0075 / 10k | $32.83 | $1.09 |
| Frontend & Serverless Cloud | ||||||
VercelPro includes 1 TB of Fast Data Transfer per month globally; overage is flat $0.15/GB worldwide across edge regions.Best Value | Pro | 1 TB Fast Data Transfer | $0.00 $0.150 / GB | $0.00 not modeled | $0.00 | $0.00 |
NetlifyPro includes 1 TB bandwidth/month globally. Overage is billed at flat $0.20/GB standard PAYG worldwide. | Pro ($19/seat) | 1 TB Bandwidth included | $0.00 $0.200 / GB | $0.00 included | $0.00 | $0.00 |
Azure Static Web AppsStandard plan includes 100 GB bandwidth/month; overage is billed at Azure data transfer rates ($0.087/GB Zone 1; $0.12/GB Zone 2; $0.18/GB Zone 3). | Standard | 100 GB included / month | $0.00 $0.087 / GB | $0.00 included | $0.00 | $0.00 |
SupabasePro includes 250 GB database and API egress per month globally; overage is flat $0.09/GB across all project regions. | Pro ($25/mo) | 250 GB unified egress | $0.00 $0.090 / GB | $0.00 included | $0.00 | $0.00 |
RailwayOutbound internet egress is billed at flat $0.10/GB globally across US, EU, and APAC clusters. | Hobby / Pro | $5 free credit (~50 GB) | $3.61 $0.100 / GB | $0.00 included | $3.61 | $0.12 |
RenderPro workspaces include 25 GB outbound per month; overage is flat $0.15/GB across US, EU, and Singapore regions. | Pro workspace | 25 GB included | $9.17 $0.150 / GB | $0.00 included | $9.17 | $0.31 |
| Backend Origin & VPS | ||||||
AWS EC2 / BackendAWS provides 100 GB/month free internet egress. Baseline US East/EU is $0.090/GB; APAC (Tokyo/Singapore/India) is $0.114–$0.120/GB; São Paulo (LATAM) is $0.150/GB.Best Value | Internet Egress | 100 GB / month (Always Free) | $0.00 $0.090 / GB | $0.00 included | $0.00 | $0.00 |
Azure VMs / BackendAzure provides 100 GB/month free egress. Zone 1 (US/EU) is $0.087/GB; Zone 2 (APAC/Australia/India) is $0.120/GB; Zone 3 (Brazil/LATAM) is $0.181/GB. | Internet Egress | 100 GB / month (Always Free) | $0.00 $0.087 / GB | $0.00 included | $0.00 | $0.00 |
GCP Compute / Cloud RunGoogle Cloud provides 100 GB/month free egress. NA/Europe is $0.120/GB; APAC is $0.120–$0.190/GB; São Paulo (LATAM) is $0.150/GB. | Internet Egress | 100 GB / month (Always Free) | $0.00 $0.120 / GB | $0.00 included | $0.00 | $0.00 |
DigitalOceanBasic Droplets include 1 TB (1,000 GB) of outbound transfer per month globally; overage is flat $0.01/GB ($10/TB) in all data centers worldwide (NYC, SFO, AMS, FRA, SGP, BLR, SYD). | Droplets ($6/mo) | 1,000 GB included | $0.00 $0.010 / GB ($10/TB) | $0.00 included | $0.00 | $0.00 |
Hetzner CloudEU CX-class clouds include 20 TB outbound data; overage is €1/TB (~$0.001/GB). In US and Singapore regions, 1 TB is included. | Cloud CX | 20 TB included (EU) / 1 TB (US) | $0.00 $0.001 / GB (€1/TB) | $0.00 included | $0.00 | $0.00 |
Fly.ioNorth America/Europe outbound egress is $0.02/GB; Asia-Pacific is $0.04/GB; South America/India is $0.12/GB. | Pay as you go | None (new orgs) | $1.72 $0.020 / GB | $0.00 included | $1.72 | $0.06 |
Estimates, not invoices. List prices verified 2026-08-23 for US & Europe. Excludes compute, storage, seats, and enterprise discounts. CDN, serverless, and origin hosts are grouped separately as their architectures and pricing structures differ.
- Cloudflare CDN · 2026-08-23
- AWS CloudFront · 2026-08-23
- Fastly · 2026-08-23
- GCP Cloud CDN · 2026-08-23
- Azure CDN · 2026-08-23
- Vercel · 2026-08-23
- Netlify · 2026-08-23
- Azure Static Web Apps · 2026-08-23
- Supabase · 2026-08-23
- Railway · 2026-08-23
- Render · 2026-08-23
- AWS EC2 / Backend · 2026-08-23
- Azure VMs / Backend · 2026-08-23
- GCP Compute / Cloud Run · 2026-08-23
- DigitalOcean · 2026-08-23
- Hetzner Cloud · 2026-08-23
- Fly.io · 2026-08-23
Optimization recommendations
This is an API response — do not change the contract unless clients can accept it
Minify is always included (same JSON, less whitespace). Contract changes stay off until you tick them. Gzip/Brotli, binary formats, and key renames cannot be applied in the copied text — change the server or serializer.
Minify JSON
−904 B · 29.3%Strip indentation and newlines. Same data — this is always applied when you copy.
Always applied
Convert repeated objects to columnar JSON
−714 B · 23.2%results has 8 uniform items. Converting to {columns, rows} eliminates key repetition.
Columnar encoding replaces object keys on every row with a single header row and rows array. Client deserializers must support this.
Don't repeat the same nested object on every row
−528 B · 17.1%preferences ×8 is identical on each item. Lift it to a default or omit it on the list.
If every row has the same nested object, send it once or omit it on the list. Confirm the client can live without it per row.
Keep PII off the list payload
−440 B · 14.3%Looks like personal data: email_address, last_login_ip. Prefer a detail endpoint instead of repeating them on every row.
List screens rarely need email, IP, or phone. Only drop them if no client reads those keys.
Remove null fields
−312 B · 10.1%16 null values can be omitted entirely.
Clients may still read this key. Only drop it if the UI does not need to tell null apart from a missing field.
This list is already paged — slim each row
−308 B · 10.0%Showing 8 of 128. Don't add more per-row fields; use a detail route for the rest.
Do this in code / on the server
Shorten repeated key names
−272 B · 8.8%email_address → email, last_login_ip → ip, preferences → prefer. Rename in the serializer — not applied automatically.
Do this in code / on the server
Shorten repeated keys
−247 B · 8.0%The same object shape repeats many times; key names dominate the payload. Rename in code — not applied automatically.
Do this in code / on the server
Use Unix timestamps instead of ISO 8601
−166 B · 5.4%16 ISO date strings shrink by roughly 40%.
Only convert if clients already parse numbers. Date pickers and OpenAPI schemas often require ISO strings.
Omit false / 0 / empty-string defaults
−144 B · 4.7%8 default values can be left off if missing means the same thing.
Clients often treat a missing key as false/0/"". Only drop defaults if the UI already does that.
Approved rewrite (minified · 0/6 contract changes ticked): 2.13 KB vs 3.01 KB original.
API Optimization & Bandwidth FAQ
Engineering reference and frequently asked questions for API performance