Data Methodology
Mobile
Bill Hero's mobile plan dataset covers all prepaid, postpaid, and SIM-only plans across Telstra, Optus, and Vodafone networks including their MVNOs, scraped daily at 4am AEST from retailer offer pages, with structured fields for data quota, network, plan type, international inclusions, and monthly price.
What this dataset covers
All publicly listed Australian mobile plans — including prepaid, postpaid, and SIM-only products — from Mobile Network Operators (MNOs) and their Mobile Virtual Network Operators (MVNOs). Coverage spans the three national mobile networks: Telstra, Optus, and Vodafone.
Device-bundled plans (handset + plan contracts) where the plan price cannot be stated independently are excluded. Data-only plans (tablets, IoT) are excluded unless the retailer explicitly classifies them as a mobile phone plan. Business and enterprise plan pages that require a login or quote to access pricing are excluded.
Sources
Plan data is collected by the same au-telco-scraper that feeds the broadband dataset. The scraper covers three mobile plan types: mobile_postpaid, mobile_prepaid, and mobile_data (SIM-only data plans). These are combined into a single dataset on ingest.
Network coverage data — which suburbs and postcodes have Telstra, Optus, or Vodafone signal — is sourced separately from the ACMA Telco_Data FeatureServer (Mobile Broadband Coverage layer). This coverage data is loaded periodically and stored in the mobile_suburb_coverage table; it does not refresh on the daily plan cadence.
Provider identifiers from the scraper are mapped to canonical slugs via a provider registry. The carrier_slug in the feed is this canonical identifier; the host_network field is separately resolved and indicates which of the three physical networks the carrier operates on.
Refresh cadence
Mobile plans refresh on the same schedule as broadband: daily at 18:00 UTC (4am AEST). The ingest deletes and re-inserts plan records and the associated country inclusion list in a single transaction, so the feed is always consistent — there is no window where plan rows exist without their country rows, or vice versa. After insertion, the mobile tables are propagated to the production database within the same workflow run.
MNO vs MVNO classification
The host_network field records which physical network the carrier uses: telstra, optus, or vodafone. MNOs map to their own network; MVNOs map to the network they wholesale from.
This mapping is maintained manually in the provider registry and updated when MVNOs change wholesale partners. A small number of retailers have changed networks historically (e.g., Amaysim moved from Optus to Optus, while others have moved between Telstra and Optus over time); the dataset reflects the current network affiliation at the time of the most recent scrape.
Plan type enum
The plan_type field uses three values:
postpaid— billed in arrears, typically monthlyprepaid— upfront recharge with a fixed expiry periodsim_only— plans explicitly marketed as SIM-only, often at a lower price point because no device subsidy is included
International inclusions
The intl_included_countries field is an array of country slugs (e.g. ["india", "china", "uk"]) identifying countries to which the plan includes standard calls or SMS at no extra charge. This list is extracted from each retailer's offer page during the scrape.
The list reflects included call and SMS destinations; it does not cover international data roaming. Country coverage varies between retailers and plan tiers. Plans without any international inclusions have an empty array, not null.
How prices are stated
The monthly_price_aud field is the standard ongoing monthly charge as advertised, GST inclusive. For prepaid plans with a 28-day or 365-day recharge cycle, the price is normalised to a calendar-month equivalent. Promotional pricing for new customers (e.g., first 3 months at 50% off) is not modelled; the ongoing rate is used. No rebates, bonus data inclusions, or loyalty credits are applied.
Known limitations
Network coverage at a specific address is not included in this dataset. The host_networkfield tells you which physical network a carrier uses; actual signal availability at a given location requires checking the carrier's coverage maps directly.
International roaming rates and data roaming inclusions are not captured. The dataset covers inclusions for calls and SMS only, as stated on the plan's offer page.
Retailers occasionally update plan names, prices, or inclusions between scrapes. The daily cadence means changes made mid-day may not appear until the following morning. The source_captured_at timestamp indicates when the upstream scraper last observed each plan.
Verification & corrections
Errors in mobile data can be reported to data@billhero.com.au. Omissions or corrections are typically applied within 48 hours of verification.
Licence & attribution
Published under Creative Commons CC-BY-4.0. Attribution required: "Data via Bill Hero (billhero.com.au)". Commercial republication is permitted with attribution; bulk redistribution is rate-limited at 10 req/s per IP.
Citation format
Bill Hero (2026). Australian Mobile Plans Dataset. https://billhero.com.au/data/mobile. Accessed [date]. CC-BY-4.0.
@misc{billhero2026mobile,
author = {{Bill Hero}},
title = {Australian Mobile Plans Dataset},
year = {2026},
url = {https://billhero.com.au/data/mobile},
note = {Accessed [date]. CC-BY-4.0. Covers MNOs and MVNOs on Telstra/Optus/Vodafone networks. Updated daily.},
}