NSW Development Application Leads — New lodgements avatar

NSW Development Application Leads — New lodgements

Pricing

$10.00 / 1,000 results

Go to Apify Store
NSW Development Application Leads — New lodgements

NSW Development Application Leads — New lodgements

Filtered, contact-redacted extract of newly lodged NSW development applications by council, status, and trade. Not affiliated with or endorsed by the NSW Department of Planning, Housing and Infrastructure or the NSW Planning Portal. Exact CC BY 4.0 attribution is in the README.

Pricing

$10.00 / 1,000 results

Rating

0.0

(0)

Developer

Mitchell

Mitchell

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

NSW DA Leads (Apify Actor)

New-lodged monitor for development applications published through the NSW Planning Portal DA Application Tracker. It POSTs a fixed JSON body to the public tracker endpoint, then applies optional council and trade filters.

Not affiliated with, and not endorsed by, the NSW Department of Planning, Housing and Infrastructure or the NSW Planning Portal. Do not use NSW Government logos. Full application documents live on the NSW Planning Portal, not in this dataset.

Data source (only): POST https://api.apps1.nsw.gov.au/eplanning/data/v0/DAApplicationTracker

This Actor does not call viewApplication / OnlineDA (those paths were 404 or required unknown parameters). There is no feedUrl or other URL input.

Output fields

Each dataset item is an allowlist. Applicant, owner, email, phone, contact, and person-name fields are never emitted (they are dropped if a future response adds them). Emails and obvious phone numbers inside free-text fields (fullAddress, development type, council, status, application type) are replaced with [redacted]. CostofDevelopment, dwelling counts, and storeys are not on this endpoint and are not output.

FieldDescription
planningPortalAppNumberPLANNING_PORTAL_APP_NUMBER
councilNameCOUNCIL_NAME
statusSTATUS
typeOfDevelopmentTYPE_OF_DEVELOPMENT
applicationTypeAPPLICATION_TYPE
lodgementDateLODGEMENT_DATE
determinationDateDETERMINATION_DATE when the tracker sends it, otherwise null
fullAddressFULL_ADDRESS as published
longitude / latitudeGeoJSON Point coordinates (EPSG:4326) when geometry is present
attributionNSW Department of Planning, Housing and Infrastructure
licenceCC BY 4.0
sourceDataset page on the Planning Portal open data site

Inputs

InputNotes
councilOptional substring(s) on council name. Multiple = OR. Resolved to exact CouncilDisplayName values (the API rejects a partial or a comma-separated list).
statusOptional tracker status string or list, sent as one comma-separated ApplicationStatus. If omitted, this Actor sends All. The API itself defaults to On Exhibition when the field is left out; that default is not used here.
tradePresetOptional: solar, demolition, pool, dwelling, commercial, subdivision. Case-insensitive substring on TYPE_OF_DEVELOPMENT. Multiple = OR.
keywordsOptional free-text substrings, matched the same way. OR with tradePreset.
daysLodgement window when dates are omitted. Default 7: LodgementDateFrom = Australia/Sydney today minus days, LodgementDateTo = today.
lodgedFrom / lodgedToOptional YYYY-MM-DD pair. Overrides days.
maxItemsDefault 200, cap 2000.

Council and status narrow the tracker query. Trade presets and keywords are applied locally because the tracker ignored DevelopmentType on the probe. A run stops after maxItems matches, 5,000 scanned features, or 120 tracker POSTs (including the council-list probe), whichever comes first.

Example input

{
"council": "Sydney",
"tradePreset": ["solar", "dwelling"],
"keywords": "shed",
"days": 7,
"maxItems": 50
}

Request body that worked

Probed 3 Oct 2026 (PT) against the fixed endpoint. A successful new-lodged body looks like:

{
"PageSize": 3,
"PageNumber": 1,
"ApplicationStatus": "All",
"LodgementDateFrom": "2026-09-26",
"LodgementDateTo": "2026-10-03"
}

CouncilDisplayName is added only when a council filter resolves to one exact display name (one series of pages per council). Example: "CouncilDisplayName": "Council of the City of Sydney".

Fields the API refused or ignored

SentResult
ApplicationStatus string, including All and "Under Assessment, Determined"Filters. All selects every status in applicationStatusList.
ApplicationStatus JSON arrayHTTP 400
ApplicationStatus omittedAPI default On Exhibition only (this Actor does not do that)
ApplicationStatus ""TotalCount 0
LodgementDateFrom / LodgementDateToFilters LODGEMENT_DATE
fromDate / toDate, lodgementFrom / lodgementToIgnored
CouncilDisplayName exactFilters that council
CouncilDisplayName comma-separated or partial "Sydney"TotalCount 0, nothing selected
CouncilName, council, councilName, COUNCIL_NAME, Council, SelectedCouncilIgnored
APPLICATION_STATUSIgnored
DevelopmentTypeIgnored (trade filter is local)
ApplicationTypeAccepted by the API but not an Actor input

PageSize and PageNumber page the features array. Responses also include large lookup lists (councilList, developmentTypeList, and others). Body reads are capped at 8 MiB before parse. Non-JSON, non-200, and an unexpected shape fail the run.

Local development

Requirements: Node.js 18+.

cd /team/projects/01-apify-scrapers/src/nsw-da-leads
npm install
npm test # offline fixture tests (no network)
npm run smoke # live tracker smoke, PageSize small, at most 3 redacted rows

npm start expects the Apify runtime. Prefer npm test and npm run smoke here. Do not apify push from this MVP unless the owner asks.

Pricing (not set in this repo)

Target Store price when published later: pay-per-result US$0.01 per result. This MVP does not call the Apify pricing API and does not set a Store price.

Privacy

Rows are public planning-tracker fields plus licence attribution. This Actor does not add applicant, owner, email, phone, or contact details. fullAddress is the portal's published address string. Processing on Apify is the owner's deployment choice. The creator does not sell inputs for unrelated purposes.

Attribution

© State Government of NSW and NSW Department of Planning, Housing and Infrastructure 2021. This data is provided under a Creative Commons Attribution 4.0 licence http://creativecommons.org/licenses/by/4.0. Attribute NSW Department of Planning, Housing and Infrastructure.

This Actor emits a filtered, contact-redacted extract of tracker fields, not the original feed. It is not affiliated with, and not endorsed by, the NSW Department of Planning, Housing and Infrastructure or the NSW Planning Portal. Do not use NSW Government logos.

Known limits

  • Tracker fields only. No cost, dwelling count, storeys, or document download.
  • Date filter is whatever LodgementDateFrom / LodgementDateTo do on the tracker (a probe row lodged inside the window was returned; inclusivity of the end date is the API's behaviour).
  • Wide windows plus a rare trade keyword can hit the 5,000-feature scan cap before maxItems.
  • Be polite: identifying User-Agent, timeout, modest page size.