Find leads · Use case
How do I find properties newly advertised by private owners?
Use New Market Leads, Casafari's alert feeds over the REST API. Create a feed with POST /alerts-api/feeds filtered to your area and private sellers, set your endpoint with PUT /alerts-api/webhooks, and each property newly advertised by a private individual arrives as one alert. Casafari client accounts can also query POST /api/v1/listing-alerts/search with private: true.
Products: New Market Leads, Property Sourcing, References, Area Insights
Short answer
The private filter marks properties advertised by a private individual rather than an agent or a professional. It is a field of POST /api/v1/listing-alerts/search, of POST /api/v2/properties/search and of the Area Insights tools. A New Market Leads feed follows the property graph for the filters you set and sends each new matching property to your webhook. You hear about an owner selling alone without polling.
Steps
Create a feed with POST /alerts-api/feeds (feed_name, filters) for your area and private sellers
- Get a token with
POST /login(your Casafariemailandpassword) and send it asAuthorization: Bearer <access_token>. An unattended integration can use an API client token instead (see REST authentication). - Find the location id of your area. Casafari client accounts use
POST /api/v1/references/locations(name) orPOST /api/v1/references/locations/typeahead(country_codesES or PT,name). - Call
POST /alerts-api/feedswith afeed_nameandfiltersthat hold your area, the property type and the private-seller condition.filtersacceptsprivate(set it to true),location_ids,typesandbusiness_type, which is required. It also acceptshas_agency_name,has_phoneandhas_email. The full key list is on the Create feed page. Set the webhook first (PUT /alerts-api/webhooks): creating a feed before any webhook is set answers409withNo webhook configured.
Set your webhook with PUT /alerts-api/webhooks
- Call
PUT /alerts-api/webhookswithurl, the endpoint that will receive alerts. Deliveries are signed. When you need a new signing secret, callPOST /alerts-api/webhooks/rotate-secret. See Set webhook URL and alerts to a webhook.
Or query on demand: POST /api/v1/listing-alerts/search with private true, alert_date_from, has_phone, has_email
- With a Casafari client account, send
private: truewithlocation_ids,operation,types,alert_date_fromandalert_date_to(YYYY-MM-DD). - Add
has_phone: trueorhas_email: trueto keep only alerts whose advertisement carries a phone number or an email. Details are on Search alerts (v1).
Or search the graph: POST /api/v2/properties/search with private true and created_date_from
- With a Casafari client account, send
private: true,location_idsandcreated_date_from(YYYY-MM-DDTHH:mm:ss). The search returns properties from private individuals that entered the graph since that moment. Each comes back as one record with its price and status history. Details are on Search properties (v2).
Example: private sellers of apartments in Cascais, last 7 days
A Casafari client account asks for the last seven days of alerts on apartments for sale in Cascais. The request keeps only private sellers who left a phone number. Replace <CASCAIS_LOCATION_ID> with the id from the location lookup in step 2, and replace the dates with your own window.
{
"operation": "sale",
"location_ids": [<CASCAIS_LOCATION_ID>],
"types": ["apartment"],
"private": true,
"has_phone": true,
"alert_date_from": "2026-10-01",
"alert_date_to": "2026-10-07"
}Send it to POST /api/v1/listing-alerts/search.
For a standing version, put the same area, type and private-seller condition in the filters of POST /alerts-api/feeds. Alerts then arrive at your webhook.
The fields of a returned or delivered alert are documented on the operation page and on the Alert entity page. This page does not reproduce a sample payload.
An AI assistant connected to the Casafari MCP server cannot list private owners, because alerts and property search are not offered over MCP. It can count them. Ask "How many new apartments for sale from private sellers appeared in Cascais each week this quarter?" The assistant then:
- Calls
ma_get_location_typeaheadfor Cascais. - Calls
ma_get_time_series_datawithdata_pointnew,privatetrue,type_groupapartment,business_typesaleanddate_intervalweek.
How to read the result
One alert per property, not per advertisement
The property graph merges every advertisement of a property into one record. An owner who posts the same flat on several portals is one property, so you get one lead, not one per portal. Count properties, not advertisements.
Contact fields: has_phone, has_email, has_agency_name filters
has_phone and has_email return only alerts from advertisements with (true) or without (false) a phone number or an email.
has_agency_name does the same for an agency name. Set it to false to drop advertisements that name an agency.
These are filters. The contact fields an alert actually returns are shown on the Search alerts (v1) page. Work the newest leads that have a phone number first.
Limits
Alert feeds are REST only
Feeds and webhooks on /alerts-api/* are available to Casafari clients with their Casafari account.
POST /api/v1/listing-alerts/search and POST /api/v2/properties/search are for Casafari client accounts. Property Sourcing is a REST product for Casafari clients. For the feeds and the property search, self-serve access for new users is coming soon.
None of these is offered over MCP (see alerts over MCP). The property graph is built from sources in 16 countries.
The filter fields of /alerts-api/feeds are those on its operation page
The sources give only feed_name and filters for POST /alerts-api/feeds. filters has a private boolean, plus has_agency_name, has_phone and has_email. The full key list is on Create feed.
The private flag comes from how the property is advertised. It cannot tell you whether the owner would work with an agent.
The sources publish no data refresh frequency, quotas, prices or SLAs. For those, ask Casafari.
Questions
Can I get private-seller alerts inside Claude or ChatGPT?
No. Private-seller alerts come from New Market Leads, which is offered over the REST API only, not over the Casafari MCP server. Inside Claude or ChatGPT, the Area Insights tools do accept a private filter, so an assistant can chart how many new properties from private sellers appear in an area with ma_get_time_series_data. To receive the individual leads, use a feed on POST /alerts-api/feeds with a webhook.
How quickly after a property appears is the alert created?
The sources publish no figure for how quickly an alert is created after a property first appears, and no data refresh frequency or SLA. The property graph collects advertisements as they appear and as they change, and a feed sends matching alerts to your webhook, but no timing is documented. For timing and service terms, ask Casafari at https://www.casafari.com/.
Can I exclude properties also advertised by an agency?
Partly. On POST /api/v1/listing-alerts/search, combine private: true with has_agency_name: false to keep alerts from advertisements that name no agency, and use without_agencies to drop named agencies, companies or sources. On POST /api/v2/properties/search, exclusive returns properties offered exclusively by a single agency. A feed accepts private and has_agency_name inside filters. The sources describe no single filter for a property never advertised by any agency, so check each operation page.
Can I filter to private sellers with a phone number?
Yes, with a Casafari client account. On POST /api/v1/listing-alerts/search, set has_phone to true together with private: true. That keeps only alerts from advertisements by private individuals that include a phone number. has_email works the same way for email. A standing feed takes the same three keys, private, has_phone and has_email, inside filters.