Australian Energy Plans - Electricity, Gas & Solar FiT avatar

Australian Energy Plans - Electricity, Gas & Solar FiT

Pricing

from $1.25 / 1,000 plan rows

Go to Apify Store
Australian Energy Plans - Electricity, Gas & Solar FiT

Australian Energy Plans - Electricity, Gas & Solar FiT

Every electricity and gas plan from 42 Australian retailers, ~19,000 plans, by postcode: supply charge, time-of-use rates, solar feed-in tariff, controlled load, discounts, plus an estimated annual bill for your usage and a daily plan-change feed. Consumer Data Right data, refreshed nightly.

Pricing

from $1.25 / 1,000 plan rows

Rating

0.0

(0)

Developer

Piotr Zimniak

Piotr Zimniak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Categories

Share

Independent tool, not affiliated with any energy retailer, the AER or Energy Made Easy. It reads only the public plan data retailers publish under the Consumer Data Right.

Every electricity and gas plan published by 42 Australian energy retailers: about 19,000 plans, with daily supply charges, usage and time-of-use rates, solar feed-in tariffs, controlled load, discounts and contract terms, for any postcode, plus an estimated annual bill for your usage and a daily plan-change feed. Ask "what is the cheapest electricity plan in 3000 for 5,000 kWh a year?" or "which retailers pay the most for solar in Brisbane?" and get a ranked answer in about 3 seconds.

Why this one

  • The whole market for your postcode. Every plan from every retailer that publishes Consumer Data Right plan data, filtered to the plans actually sold at your postcodes.
  • An annual bill, not just rates. Time-of-use bands, summer and winter prices, stepped rates and daily supply charges are combined into one comparable number (GST included), with a credit for your solar exports.
  • Clean fields. Supply charge, single / peak / shoulder / off-peak rates, controlled load, best feed-in tariff, demand charges, GreenPower, discounts and incentives, in the same fields for every retailer.
  • Plan changes, every day. Price rises and cuts, new and withdrawn plans, since we started tracking on 27 September 2026.
  • Fast and reliable. Runs are answered from our nightly snapshot of all ~19,000 plans in about 3 seconds. See Reliability.
  • The only Apify Actor with Australian Consumer Data Right energy plans (September 2026).
  • See it live. A bill calculator, tonight's best feed-in tariffs and a day on a time-of-use plan: crawlplant.com/au-energy-plans.

What can you use it for?

  • Comparison sites, brokers and switching services: a daily feed of every plan with its postcode coverage.
  • Solar and battery installers: the best feed-in tariffs and time-of-use plans in an area, for customer quotes.
  • Property managers and businesses: the cheapest small-business plans for each site's postcode.
  • Analysts and journalists: price changes after the annual default market offer reset, retailer by retailer.
  • AI agents: "find the cheapest plan for my postcode" (see Use with AI agents).

Quick start

  1. Click Try for free (or Start): the 100 cheapest residential electricity plans in postcode 2000 for 4,000 kWh a year. It finishes in about 3 seconds and costs $0.20 on the Free plan.
  2. Change Postcodes, Electricity use per year and, if you have panels, Solar export per year.
  3. Download JSON, CSV or Excel, or save the input as a task to reuse or schedule it.

Copy to your AI assistant

Paste this into ChatGPT, Claude or any agent so it knows how to use the Actor:

crawlplant/au-energy-plans on Apify: every electricity and gas plan published by 42 Australian retailers (~19,000 plans,
Consumer Data Right data, refreshed nightly), by postcode, with an estimated annual bill. Modes (field "mode"): cheapest (default:
plans at the postcodes ranked by estimated annual bill), plans (every matching plan, any sortBy), changes (plan changes since
changedSince: a date or "last-run"; empty = last 7 days), brands (retailers covered). Inputs: postcodes (4-digit strings, default
["2000"]), fuelTypes (ELECTRICITY default, GAS, DUAL; exact match), customerType (RESIDENTIAL default, BUSINESS), planTypes
(MARKET, STANDING, REGULATED), brands (a word of the retailer's name, e.g. "agl"), features (solar, controlledLoad, timeOfUse,
singleRate, greenPower, noDemandCharges; default ["noDemandCharges"]), annualKwh (default 4000), peakShare/shoulderShare/
offPeakShare (0.35/0.25/0.4), solarExportKwh (0), gasAnnualMj (25000), sortBy (estimate_asc default, supply_asc, usage_rate_asc,
fit_desc, brand), maxItems (100). Each plan row: brandName, displayName, fuelType, planType, pricingModel, postcodes,
distributors, estimatedAnnualCost {total, supply, usage, solarCredit, incGst: true, approximate, reasons}, dailySupplyCharge and
rates {single, peak, shoulder, offPeak} in $/kWh ex-GST, controlledLoadRate, solarFeedInTariff, seasonal, hasDemandCharges, gas,
greenPower, discounts, incentives, scrapedAt, source, rank. Cost: $2.00 per 1,000 rows (Free plan) down to $1.25; change rows
+$3.00 per 1,000; $0.00005 per run. Runs take ~3 s. Tracking since 2026-09-27.

Modes

ModeWhat you get
cheapest (default)Plans at your postcodes, ranked by the estimated annual bill
plansEvery matching plan, sorted as you like, for full exports
changesPlan changes since a date or since your last run: old and new supply charge, rates and feed-in tariff
brandsThe retailers covered, with logo, ABN and website

Ready-to-use examples

1. Cheapest electricity plans in Sydney CBD

{ "mode": "cheapest", "postcodes": ["2000"], "annualKwh": 4000 }

2. Cheapest plans for a home with solar in Melbourne

{ "mode": "cheapest", "postcodes": ["3000"], "features": ["solar", "noDemandCharges"], "annualKwh": 5000, "solarExportKwh": 3000 }

3. Best solar feed-in tariffs in Brisbane

{ "mode": "plans", "postcodes": ["4000"], "features": ["solar"], "sortBy": "fit_desc", "maxItems": 50 }

4. Cheapest gas plans in Adelaide

{ "mode": "cheapest", "postcodes": ["5000"], "fuelTypes": ["GAS"], "gasAnnualMj": 30000 }

5. Time-of-use plans for charging an EV overnight

{ "mode": "cheapest", "postcodes": ["2150"], "features": ["timeOfUse", "noDemandCharges"], "annualKwh": 7000, "peakShare": 0.2, "shoulderShare": 0.2, "offPeakShare": 0.6 }

6. Plans with controlled load (off-peak hot water)

{ "mode": "cheapest", "postcodes": ["2250"], "features": ["controlledLoad", "noDemandCharges"] }

7. Small-business electricity plans across several sites

{ "mode": "cheapest", "postcodes": ["2000", "3000", "4000"], "customerType": "BUSINESS", "annualKwh": 20000, "maxItems": 300 }

8. Every AGL and Origin plan in one postcode

{ "mode": "plans", "postcodes": ["2000"], "brands": ["agl", "origin"], "sortBy": "brand", "maxItems": 1000 }

9. Standing (default) offers only

{ "mode": "plans", "postcodes": ["2000"], "planTypes": ["STANDING"] }

10. Price changes in my postcode since my last run (schedule it weekly)

{ "mode": "changes", "postcodes": ["3000"], "changedSince": "last-run" }

11. Plan changes since a date

{ "mode": "changes", "postcodes": ["2000", "3000"], "changedSince": "2026-09-27" }

12. The list of retailers covered

{ "mode": "brands", "maxItems": 200 }

How to…

Find the cheapest electricity plan for your postcode

Mode cheapest with your postcode and yearly use (example 1). estimatedAnnualCost.total ranks the plans; your latest bill shows your yearly kWh.

Compare solar feed-in tariffs

Mode plans, features: ["solar"], sortBy: "fit_desc" (example 3). To rank by the whole bill instead, add solarExportKwh in cheapest mode (example 2).

Find a plan for EV charging or off-peak use

Set your own peakShare / shoulderShare / offPeakShare and keep timeOfUse (example 5): plans with cheap off-peak rates rise to the top.

Get the cheapest gas plan

fuelTypes: ["GAS"] and your yearly use in MJ from your gas bill (example 4).

Get alerts when energy prices change

Schedule example 10 and add an email, Slack or webhook integration on "run succeeded": each run returns only the plans whose prices changed since the previous run.

Export every energy plan in Australia

Mode plans, leave features empty ([]), list the postcodes you need and set maxItems high.

How the bill estimate works

estimatedAnnualCost.total = daily supply charge × 365 + your usage priced at the plan's rates, plus 10% GST, minus your solar export × the plan's best feed-in tariff (feed-in credits carry no GST). Rate fields in the output are the plan's published prices, before GST (pricesIncludeGst: false); the estimate includes GST.

  • Time of use: your kWh are split with peakShare / shoulderShare / offPeakShare; bands a plan doesn't have share their part with the others.
  • Seasons: plans with summer and winter prices are priced season by season, weighted by days.
  • Stepped rates (e.g. the first 11 kWh a day at one price) are priced block by block.
  • Guaranteed discounts (a percentage off usage or off the whole bill, no conditions) are included.
  • Left out: demand charges, controlled-load usage and conditional discounts (pay-on-time, direct debit). Plans where this matters get approximate: true with the reasons.
  • Demand-charge plans are hidden by default (features: ["noDemandCharges"]), so every ranked plan is compared on its full price. Set features to [] to include them, marked hasDemandCharges: true.

It is an estimate to rank plans, not a quote: check the retailer's offer before switching.

Input options

OptionDefaultDescription
modecheapestcheapest, plans, changes, brands
postcodes["2000"]4-digit postcodes
fuelTypes["ELECTRICITY"]ELECTRICITY, GAS, DUAL (exact match)
customerTypeRESIDENTIALRESIDENTIAL or BUSINESS
planTypes[]MARKET, STANDING, REGULATED
brands[]Retailer names (a word of the name) or ids from mode brands
features["noDemandCharges"]solar, controlledLoad, timeOfUse, singleRate, greenPower, noDemandCharges; [] includes demand-charge plans
annualKwh4000Your electricity use per year
peakShare, shoulderShare, offPeakShare0.35, 0.25, 0.4How your use splits across time-of-use bands
solarExportKwh0Solar exported to the grid per year
gasAnnualMj25000Your gas use per year (gas plans)
sortByestimate_ascestimate_asc, supply_asc, usage_rate_asc, fit_desc, brand
maxItems100Maximum rows
changedSince-For changes: a date or last-run; empty = last 7 days
maxAgeHours36Data older than this still comes back, with a note in the run summary
includeRawfalseAdd the plan's original Consumer Data Right JSON

Example output

{
"type": "plan",
"planId": "AMB1139004MRE1@EME",
"brandId": "aer:amber",
"brandName": "Amber Electric",
"displayName": "Battery + Solar: Variable Wholesale Prices (estimate)",
"fuelType": "ELECTRICITY",
"planType": "MARKET",
"customerType": "RESIDENTIAL",
"pricingModel": "SINGLE_RATE",
"postcodes": [
"2000"
],
"distributors": [
"Ausgrid"
],
"estimatedAnnualCost": {
"total": 1196.34,
"supply": 426.34,
"usage": 770,
"solarCredit": 0,
"incGst": true,
"approximate": false,
"reasons": []
},
"dailySupplyCharge": 1.061856,
"rates": {
"single": 0.175,
"peak": null,
"shoulder": null,
"offPeak": null
},
"solarFeedInTariff": 0.1226,
"isFixed": false,
"seasonal": false,
"hasDemandCharges": false,
"pricesIncludeGst": false,
"scrapedAt": "2026-09-27T12:51:36.366Z",
"source": "cache",
"rank": 1
}

Output fields

FieldDescription
typeplan, change or brand
planId, displayNameThe plan's id and name
brandId, brand, brandNameThe retailer
fuelType, planType, customerTypeElectricity / gas / dual; market / standing / regulated; residential / business
pricingModele.g. SINGLE_RATE, TIME_OF_USE, SINGLE_RATE_CONT_LOAD
postcodesWhich of your postcodes the plan is sold in
distributorsNetwork areas the plan is sold in
estimatedAnnualCost{ total, supply, usage, solarCredit, incGst, approximate, reasons } for your usage
dailySupplyCharge$/day before GST (first season)
rates{ single, peak, shoulder, offPeak } in $/kWh before GST (first season)
controlledLoadRate$/kWh for controlled load, before GST
solarFeedInTariffBest feed-in tariff the retailer pays a new customer, $/kWh (closed government / premium schemes excluded)
isFixed, seasonal, hasDemandChargesFixed-price contract; prices vary by season; demand charges apply
gasGas prices for gas and dual-fuel plans (same shape, $/MJ)
greenPower, discounts, incentivesGreenPower option; discount and incentive descriptions
effectiveFrom, effectiveTo, planLastUpdatedPlan validity and the retailer's last update
firstSeenAt, detailFetchedAt, scrapedAtWhen we first saw it, last downloaded it, and last checked the retailer's list
sourcecache (our nightly snapshot)
rankPosition in cheapest mode
event, oldDailySupplyCharge, newDailySupplyCharge, oldRates, newRates, observedAtChange rows (changes mode)

Run it through the API

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('crawlplant/au-energy-plans').call({ postcodes: ['3000'], annualKwh: 5000, solarExportKwh: 2000 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5).map((p) => `${p.rank}. ${p.brandName} ${p.displayName}: $${p.estimatedAnnualCost?.total}/yr`));

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("crawlplant/au-energy-plans").call(run_input={"postcodes": ["4000"], "features": ["solar"], "sortBy": "fit_desc"})
for p in client.dataset(run["defaultDatasetId"]).iterate_items():
print(p["brandName"], p["displayName"], p["solarFeedInTariff"])

Use with AI agents

The Actor works as a tool in the Apify MCP server for Claude, ChatGPT, Cursor and others:

https://mcp.apify.com?tools=crawlplant/au-energy-plans

Try "what's the cheapest electricity plan in 2000 for 6,000 kWh a year?" or "which retailers pay the most for solar exports in 4000?".

Pricing

Pay per result: platform usage is included, and the bill estimate comes with every plan.

EventFree planStarterScaleBusiness and up
Plan or retailer row (per 1,000)$2.00$1.60$1.40$1.25
Plan change row (per 1,000, changes mode, on top of the row price)$3.00$3.00$3.00$3.00
Actor start (per run)$0.00005$0.00005$0.00005$0.00005
Example on the Free planRowsCost
Default run: 100 cheapest plans in one postcode100$0.20
Top 20 solar plans in two postcodes20$0.04
Every residential plan in one postcode (electricity and gas)~750-1,500~$1.50-3.00
300 business plans across three sites300$0.60
Weekly watch with changedSince: "last-run"only the changesoften $0.00

Set a maximum cost per run in the run options to stop a large run at your budget.

Reliability

  • Every run is answered from our nightly snapshot of all ~19,000 plans, so it doesn't depend on retailer data being reachable at that moment: results in about 3 seconds.
  • Automated checks test the Actor, the data and its freshness every 3 hours, around the clock.

Data freshness

We read every retailer's plan list every night (Australian time) and re-download a plan when it changed, and at least weekly. scrapedAt is when the retailer's list was last checked. Plan history is kept since 27 September 2026.

Troubleshooting

  • No plans for a postcode: plan data covers the national electricity and gas markets (NSW, ACT, VIC, QLD, SA and TAS); the Northern Territory and most of Western Australia have their own arrangements.
  • An estimate is null: the plan has no usage prices (for example export-only plans), or usage for that fuel is 0.
  • An estimate is marked approximate: see its reasons (controlled load, stepped time-of-use blocks).

FAQ

What is the cheapest electricity plan for my postcode?

Run example 1 with your postcode and yearly use: every plan sold there, ranked by the estimated annual bill.

How much does it cost?

$2.00 per 1,000 plans on the Free plan, down to $1.25 on higher plans, plus $0.00005 per run. The default run costs $0.20. See Pricing.

Where does the data come from?

From the public plan data every Australian energy retailer must publish under the Consumer Data Right. No logins, no personal data.

Does the estimate include GST?

Yes. The estimate includes 10% GST; the rate fields show the published prices before GST.

How far back does the price history go?

To 27 September 2026, when tracking started; every change since is kept.

Is this advice?

No. It is published plan data and an estimate to compare plans; check the retailer's offer before switching.

Privacy

Only public plan data is collected. Each run sends the developer anonymous feature-usage statistics (the mode and which options were used, never your postcodes or usage values); your Apify account id is replaced by a one-way hash on arrival.