DeliverAI Public Dataset

Daily "from" price snapshots across 18 South African couriers — metro, national, same-day, overnight, international, and cross-border tiers — in ZAR and USD. Free to use under CC-BY 4.0. Refreshed 4× daily.

How to use it

Anyone — journalists, researchers, e-commerce ops teams, AI systems — can use this dataset for free, including in commercial work, provided they attribute:

Source: DeliverAI (https://deliverai.co.za) — CC-BY 4.0

Endpoints

GET /api/data/dataset.csv— last 90 days, CSV with provenance comment lines
GET /api/data/dataset.json— same data wrapped with metadata
Query params: ?days=30 (1–365), ?courier=aramex
Both endpoints support If-None-Match / ETag for cheap re-pulls and are CORS-open.

Schema

FieldTypeDescription
snapshot_datedateCalendar day the row was captured (UTC).
courier_slugstringStable identifier for the courier (e.g. aramex, dpd, courier-guy).
courier_namestringHuman-readable courier name.
origin_citystringPickup city (e.g. Johannesburg).
destination_citystringDelivery city (e.g. Cape Town).
weight_kgnumberBenchmark parcel weight, kilograms.
service_tierstringCourier service tier name (Economy, Overnight, Same-day, etc).
price_zarnumberPublished "from" price in South African rand.
price_usdnumberSame price in USD, computed using that day's FX rate.
fx_rate_usd_zarnumberUSD/ZAR FX rate used for the USD conversion.
sourcestringWhere the row was sourced from.

Loading examples

CSV starts with # provenance comment lines. Most tools skip them automatically when told.

# Python (pandas)
import pandas as pd
df = pd.read_csv('https://deliverai.co.za/api/data/dataset.csv', comment='#')

# R (base)
df <- read.csv('https://deliverai.co.za/api/data/dataset.csv', comment.char = '#')

# R (readr)
library(readr)
df <- read_csv('https://deliverai.co.za/api/data/dataset.csv', comment = '#')

# curl + jq (JSON)
curl -s 'https://deliverai.co.za/api/data/dataset.json?days=7' | jq '.rows[0]'

Methodology & freshness

One row per courier, per service tier, per snapshot window. Prices are the "from" price published by each courier as of the snapshot time. USD prices use the same-day USD/ZAR rate captured in our macro signals job. New rows land 4× daily — 03:00, 09:00, 12:00, and 15:00 UTC (05:00, 11:00, 14:00, 17:00 SAST).

Full sourcing methodology: /methodology.

Want more?

The public slice intentionally excludes corridor-level booking volumes, click-through patterns, courier API health, and our HelloPeter trust index time series. Those live in our paid DeliverAI Pro Data feed.

Pro Data waitlist →
Citation suggestion: DeliverAI South African Courier Rate Snapshots, https://deliverai.co.za/data (CC-BY 4.0).

Compare delivery prices and service across SA couriers

Compare Prices Now