Property
The possible stable asset described by one or more public listings and matched only through agreed evidence.
- Normalized address & coordinates
- Property type & attributes
- Canonical key and match state
Property listings data
Turn eligible public property pages into source-linked records that keep the asset, advertisement, asking terms, agent, displayed status, media, and observation history separate. Begin with a representative pilot; scale only after the contract holds.
Property-listing model
A listing is not the property itself. Keep the candidate asset separate from each advertisement, asking term, displayed status, agent relationship, media item, and observation.
The possible stable asset described by one or more public listings and matched only through agreed evidence.
A source advertisement with its own identifier, URL, dates, agent or broker, media, and observed status.
Displayed price or rent, currency, period, incentives, availability, and status captured at an observation time.
A displayed asking price is not a valuation or sale price. A listing status is not proof of occupancy, ownership, sale, lease, or inventory.
Coverage states
Coverage depends on the portal, market, page family, discovery input, visible fields, geography, and reuse conditions—not on a generic real-estate label.
Record contract
Keep source values, normalized fields, asset identity, observation time, and collection state separate enough to audit each change.
{
"property": {
"property_id": "candidate_prop_18",
"type": "apartment",
"bedrooms": 2,
"area_sqm": 78
},
"listing": {
"source_listing_id": "demo_74",
"episode_state": "observed",
"asking_value": 235000,
"currency": "EUR",
"availability_text": "Available"
},
"match_state": "candidate",
"source_url": "https://property.example/listing/demo-74",
"observed_at": "YYYY-MM-DDThh:mm:ssZ"
}Displayed availability is not proof of an open transaction, and asking price is not market value.
Identity and episodes
Address and attribute normalization can support a relationship. It should not erase source listing IDs, episode boundaries, conflicts, or uncertainty.
Source episode
Candidate cues
Relationship state
Property key
Freshness and history
Record when the page was requested, when its fields were observed, when the record was delivered, and when a value first or last appeared.
The source, URL or search, geography, filters, and locale entered collection.
The listing exposed the captured asking terms and status.
The record entered the agreed output path.
A listing episode or field value entered or left tracked history.
Quality and missingness
A defensible property feed makes field absence, collection failure, page removal, source status, duplicate risk, and identity review separately queryable.
The public page produced the required listing and provenance fields.
Price, status, agent, media, or page pattern changed under the history rules.
The source episode stays separate until the approved rule resolves it.
Unavailable is not automatically sold, leased, occupied, or removed.
Expected page family, listing key, required fields, data types, and schema version.
Currency and period, numeric area, status vocabulary, timestamp, address parts, and image URL shape.
Your team approves source set, required fields, match rules, history semantics, exception thresholds, and downstream use.
Operating model
Maximum infrastructure control
Property applications
Each workflow can reuse the source-linked record while retaining responsibility for valuation, legal interpretation, ranking, and decisions.
Track displayed asking terms, status, and page changes across submitted or discovered listings.
Listing episode · asking observation · timeMeasure observed listing composition within a defined source and geographic universe.
Property attributes · geography · provenanceSurface candidate comparables for analyst review without presenting an automated appraisal.
Attributes · location · asking termsStudy public agent, broker, office, and listing relationships as displayed by target sources.
Listing · broker · public contactsMonitor public listing signals related to submitted addresses or candidate assets.
Property candidate · episodes · change statesProvide traceable public observations to customer-owned research and valuation models.
Source values · features · timestampsRepresentative pilot
Include standard listings, rentals and sales if relevant, missing fields, price changes, removed pages, duplicate advertisements, relists, address ambiguity, and source-specific media.
Share target sources, geography, discovery path, objects, fields, cadence, and downstream use.
Select ordinary and edge-case listings with changes, removals, duplicates, missingness, and ambiguity.
Review source values, episode identity, candidate property matches, timestamps, and states.
Approve schema, matching, history semantics, thresholds, cadence, and operating ownership.
Evaluation FAQ
Ten practical answers for data, research, and operations teams evaluating public listing data.
A scoped delivery can include property attributes, source listing identifiers, listing episode dates, displayed asking price or rent, currency and period, availability or status text, agent or broker details, public media references, source URL, observation time, and price or status history. Actual fields depend on the selected public sources and representative pages.
WebScrapingAPI does not currently present a dedicated structured real-estate endpoint. Eligible public listing pages can be accessed through the generic Scraper API or Browser API, while structured schemas, recurring collection, cross-source matching, and maintained delivery are pilot-first or custom managed scopes.
The model treats a property as a candidate stable asset and each public advertisement as a listing episode with its own source listing ID, agent, asking terms, status, media, and observed history. A listing is not the property itself, and the same property may have multiple or repeated listing episodes.
A scheduled or managed pilot can test matching rules using source IDs, normalized address, coordinates, property type, unit or floor, bedrooms, area, and other agreed cues. Exact, candidate, ambiguous, unmatched, and source-only states remain explicit; source records are not silently merged.
Recurring collection can retain first_seen, last_seen, observed_at, asking terms, displayed status, and change events for submitted or discovered listings under the agreed cadence. A displayed asking price is not a valuation, and a displayed availability state is not a transaction or occupancy guarantee.
Freshness is confirmed per source, page family, geography, volume, and required field. Request-time access returns an observation when processed; scheduled and managed programs use an agreed collection window and make late, unavailable, failed, and source-absent states visible.
The record contract can distinguish a source-reported status, page removal, temporary unavailability, collection failure, suspected duplicate, relisted episode, and ambiguous property match. A disappeared page is not automatically labelled sold, leased, or unavailable unless the source provides that evidence.
Public media URLs, captions, order, and related metadata can be evaluated as part of a listing record. Delivery of media files, reuse rights, duplicate-image analysis, and retention are separate scope decisions; public visibility does not transfer media rights.
Proxy customers maintain their own collectors and parsers. For a scheduled or managed property program, WebScrapingAPI can own contracted collection, extraction, schema maintenance, quality monitoring, source-change response, history, and delivery, while the customer owns downstream storage, interpretation, and decisions.
Private or credentialed MLS systems, gated owner or tenant data, private transaction records, and appraisal guarantees are not standard scope. Customers remain responsible for lawful use, licensing, retention, access controls, valuation methods, and decisions made with public listing observations.
Property listings data
Bring the public sources, geography, listing objects, required fields, cadence, and intended decision. We will use the pilot to prove the contract.