NSW & Australian Council Planning Approvals & DA Tracker avatar

NSW & Australian Council Planning Approvals & DA Tracker

Pricing

from $100.00 / 1,000 results

Go to Apify Store
NSW & Australian Council Planning Approvals & DA Tracker

NSW & Australian Council Planning Approvals & DA Tracker

Extracts NSW Development Application (DA) metadata from the official NSW Planning Portal Open Data API and enriches it with trade-lead classification.

Pricing

from $100.00 / 1,000 results

Rating

0.0

(0)

Developer

Wollemi

Wollemi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Turn freshly lodged NSW Development Applications into trade-ready sales leads. This Apify Actor pulls live Development Application (DA) metadata from the official NSW Planning Portal Open Data API, filters it to the councils, budgets and project types you care about, and tags every record with the trades likely to win work — pool builders, demolition crews, framers, concreters, electricians and more.

Keywords: NSW Planning Portal API, Sydney Council DA Scraper, Development Applications, Property Leads, building leads, construction leads, DA tracking NSW.


Why use it

When a DA is lodged, the clock starts. The builders, sub-contractors and buyers' agents who reach out first win the job. This actor answers one question for you every morning:

"Which development applications lodged near me this week need my trade — and are worth chasing?"

  • Official source, daily fresh — data comes straight from the keyless NSW Planning Portal Online DA Data API (DAs since 2018, updated daily).
  • Zero setup to first value — no data API key required at all. It returns real, classified leads on the very first run.
  • Trade-lead classification — every record includes tradeOpportunities, plus flags for pools, demolition and commercial work, and an explainable lead_score.
  • Pay only for what you use — priced per dataset item, with a hard maxResults cap so a run can never surprise you.

What you get (output schema)

Each dataset item looks like this:

{
"da_number": "PAN-664006",
"council_lga": "Inner West Council",
"lodgement_date": "2026-08-18",
"status": "Additional Information Requested",
"development_type": "Dwelling house, Alterations or additions to an existing building or structure",
"location": {
"street_address": "28A ROWNTREE STREET BALMAIN 2041",
"suburb": "BALMAIN",
"postcode": "2041",
"lat": -33.855257425,
"lng": 151.178232655
},
"valuation": { "estimated_cost_aud": 250000 },
"raw_description": "Dwelling house; Alterations or additions to an existing building or structure; 1 new dwelling; 1 storey",
"ai_structured_insights": {
"projectCategory": "new dwelling",
"isCommercial": false,
"hasDemolition": false,
"hasSwimmingPool": false,
"tradeOpportunities": ["framing carpenter", "concreting", "bricklaying", "roofing", "electrical", "plumbing"],
"classification_method": "rules",
"confidence": 0.85
},
"lead_score": 74,
"links": { "portal_url": "https://www.planningportal.nsw.gov.au" },
"scraped_at": "2026-08-24T10:58:31.368Z"
}

Input

FieldTypeDefaultDescription
councilLgastring (enum)Inner West CouncilCouncil to track, or ALL.
daysBackinteger (1–90)7Lookback window from today.
minCostAudinteger100000Minimum estimated development cost.
statusstring (enum)AnyLodged, Under Assessment, Determined, or Any.
tradeFocusstring (enum)AnyOnly return DAs relevant to one trade.
enableLlmEnrichmentbooleanfalseOptional. Use gpt-4o-mini for trade inference on unrecognised development types.
openaiApiKeystring (secret)Optional. Falls back to rules if absent.
maxResultsinteger (≤1000)100Hard cap on billable items per run.

How the classification works

The NSW open dataset is structured — it exposes a categorical DevelopmentType list and flags (new dwellings, subdivision, storeys) rather than free-text prose. So a hybrid pipeline keeps cost near zero while staying accurate and reliable:

  1. Structured fields from the API (cost, development type, dwelling counts, subdivision flag) drive classification directly and deterministically.
  2. Deterministic rules map those signals to a project category and a trade bundle, negation-aware for the rare cases prose appears.
  3. The LLM (gpt-4o-mini) is optional and off by default. Because the data is already structured, rules do the heavy lifting; enable the LLM only if you want it to infer additional tradeOpportunities for DevelopmentType combinations the rules do not recognise. Every item records whether it was classified by rules or llm.

Usage examples

cURL (Apify API)

curl -X POST "https://api.apify.com/v2/acts/roomy_stove~aus-council-da-tracker/run-sync-get-dataset-items?token=APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"councilLga": "Inner West Council",
"daysBack": 7,
"minCostAud": 100000,
"tradeFocus": "Swimming Pool",
"maxResults": 50
}'

Python (requests)

import requests
resp = requests.post(
"https://api.apify.com/v2/acts/roomy_stove~aus-council-da-tracker/run-sync-get-dataset-items",
params={"token": "APIFY_TOKEN"},
json={
"councilLga": "ALL",
"daysBack": 14,
"minCostAud": 500000,
"tradeFocus": "Demolition",
"maxResults": 100,
},
timeout=300,
)
resp.raise_for_status()
for da in resp.json():
print(da["da_number"], da["lead_score"], da["ai_structured_insights"]["tradeOpportunities"])

Node.js (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'APIFY_TOKEN' });
const run = await client.actor('roomy_stove/aus-council-da-tracker').call({
councilLga: 'City of Sydney',
daysBack: 7,
minCostAud: 250000,
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} DA leads`);

Tips for recurring lead feeds

  • Schedule it. Use Apify Schedules to run daily and stream new DAs into your CRM.
  • Integrate it. Pipe the dataset into Zapier / Make / a webhook to auto-create leads.
  • Narrow with tradeFocus so you only pay for leads you can act on.

  • Data source & licence: Data is sourced from the NSW Planning Portal Online DA Data API and is licensed Creative Commons Attribution (CC-BY). Attribution: "© State Government of NSW and NSW Department of Planning, Housing and Infrastructure."
  • Privacy: Individual home-owner names, personal phone numbers and private email addresses are stripped from output. Only public proposal metadata and corporate/business applicant entities are retained.
  • Copyright / IP: This actor extracts text and numeric metadata only. It does not re-host or parse copyrighted architectural plans, engineering drawings or PDFs. Use the portal_url and da_number to view the official record.
  • Disclaimer: This dataset is provided for public informational metadata purposes only and does not constitute legal, planning or financial advice. Always verify against the official NSW Planning Portal before acting.