API Realtor Ricerca immobili

POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
Normale
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Normale

Ultime 24 ore

Ultimi 30 giorni

Cerca annunci immobiliari su Realtor per ZIP code statunitense o City, ST in keyword, con filtri per prezzo, camere da letto, bagni, stato dell'annuncio e ordinamento. Prezzo di listino, prezzo di vendita e relative date sono campi separati, e un risultato non conferma che la casa sia ancora disponibile.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su realtor e action impostato su property_search. Prezzo $1.39 per 1.000 richieste ($0.001389 per chiamata). Le chiamate non riuscite e i risultati vuoti non vengono addebitati. Sincrona. Per i job più lenti, aggiungi "mode": "async" al corpo della richiesta, recupera il job_id ed esegui il polling.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Realtor Ricerca immobili di EveryInfra (realtor/property_search).

Come funziona l'endpoint:
- Richiesta: POST https://api.everyinfra.com/api/v1/social con l'header Authorization: Bearer <chiave API>. Leggi la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY e non scriverla mai direttamente nel codice.
- Nel corpo della richiesta imposta platform su realtor e action su property_search, e inserisci i parametri in params.
- Parametri obbligatori:
  - keyword: Specifica la località di ricerca per le richieste a Realtor. Per search, inserisci città e stato (ad es. Austin, TX) per trovare agenti.
- Parametri facoltativi:
  - baths_min: Imposta il numero minimo di bagni. Il valore viene usato come intero, quindi non può rappresentare un valore che includa un mezzo bagno, ad esempio 1.5.
  - beds_min: Imposta il numero minimo di camere da letto come intero. Non è il numero totale di locali dell'immobile.
  - city: Sostituisce il nome della città per property_search. Se cerchi per CAP, non passare una città in conflitto, per evitare condizioni di località contraddittorie.
  - max_price: Specifica il prezzo massimo dell'annuncio per l'input standard e ha la priorità su price_max nella stessa richiesta. Interpreta i prezzi separatamente per gli annunci di vendita e di affitto.
  - min_price: Specifica il prezzo minimo dell'annuncio per l'input standard e ha la priorità su price_min nella stessa richiesta. Questo parametro filtra i prezzi degli immobili, non i compensi degli agenti.
  - sort: Ordine degli annunci per property_search, sempre decrescente: newest (annunci più recenti prima, predefinito), price_desc (prezzo richiesto), sold_price_desc (prezzo di vendita finale), recently_sold, bedrooms_desc, lot_… (valori consentiti: bedrooms_desc / lot_size_desc / newest / photo_count_desc / price_desc / recently_sold / recently_updated / sold_price_desc)
  - status: Uno stato dell'annuncio per property_search, inviato come stringa; il valore predefinito è for_sale. I valori noti sono sold, for_rent, ready_to_build, off_market, other e new_community.
  - limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 200. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 20)
- Restituisce un elenco di record. Campi principali di ogni record: id, url, title, status, price, sold_price, sold_at, listed_at, property_type, beds, baths, area_sqft; 28 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=realtor.
- Esempio di corpo della richiesta:
{
  "platform": "realtor",
  "action": "property_search",
  "params": {
    "keyword": "10022"
  }
}
- Prezzo: $1.39 per 1.000 richieste; le richieste non riuscite e i risultati vuoti non vengono addebitati.
- Per decine o centinaia di target, aggiungi "mode": "async" al corpo: ricevi subito un job_id ed esegui il polling su GET https://api.everyinfra.com/api/v1/jobs/{job_id} per ottenere il risultato.
- In caso di 422, correggi la richiesta usando i nomi dei parametri e i valori consentiti suggeriti nell'errore; in caso di 429 o 503, attendi il tempo indicato da Retry-After e riprova.

Prima di scrivere il codice, chiedimi quali target mi servono, quanti, quali campi e quale formato di output voglio; poi conferma con me il piano e il costo indicativo.

Parametri della richiesta

#
NomePosizioneTipoObbligatorioPredefinitoDescrizione
AuthorizationheaderstringSì-Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice.
platformbodystringSìrealtorIdentificativo della piattaforma, valore fisso.
actionbodystringSìproperty_searchIdentificativo della funzionalità, valore fisso.
keywordbody.paramsstringSì-Specifica la località di ricerca per le richieste a Realtor. Per search, inserisci città e stato (ad es. Austin, TX) per trovare agenti. Per property_search, inserisci un CAP statunitense a 5 cifre o l'abbreviazione City, ST. Non sono accettate descrizioni arbitrarie degli immobili.
baths_minbody.paramsintegerNo-Imposta il numero minimo di bagni. Il valore viene usato come intero, quindi non può rappresentare un valore che includa un mezzo bagno, ad esempio 1.5.
beds_minbody.paramsintegerNo-Imposta il numero minimo di camere da letto come intero. Non è il numero totale di locali dell'immobile.
citybody.paramsstringNo-Sostituisce il nome della città per property_search. Se cerchi per CAP, non passare una città in conflitto, per evitare condizioni di località contraddittorie.
max_pricebody.paramsnumberNo-Specifica il prezzo massimo dell'annuncio per l'input standard e ha la priorità su price_max nella stessa richiesta. Interpreta i prezzi separatamente per gli annunci di vendita e di affitto. Il filtro usa numeri interi: i decimali vengono arrotondati per eccesso (145.98 diventa 146).
min_pricebody.paramsnumberNo-Specifica il prezzo minimo dell'annuncio per l'input standard e ha la priorità su price_min nella stessa richiesta. Questo parametro filtra i prezzi degli immobili, non i compensi degli agenti. Il filtro usa numeri interi: i decimali vengono arrotondati per difetto (39.81 diventa 39).
sortbody.paramsstring (enum)No-Ordine degli annunci per property_search, sempre decrescente: newest (annunci più recenti prima, predefinito), price_desc (prezzo richiesto), sold_price_desc (prezzo di vendita finale), recently_sold, bedrooms_desc, lot_size_desc, photo_count_desc o recently_updated. Non esiste un'opzione crescente, quindi gli annunci non possono essere ordinati partendo dal prezzo più basso.Valori consentitibedrooms_desclot_size_descnewestphoto_count_descprice_descrecently_soldrecently_updatedsold_price_desc
statusbody.paramsstringNo-Uno stato dell'annuncio per property_search, inviato come stringa; il valore predefinito è for_sale. I valori noti sono sold, for_rent, ready_to_build, off_market, other e new_community. Il valore non viene verificato rispetto a un elenco fisso, quindi le altre stringhe non vengono rifiutate. Invia un solo stato, non un array.
limitbody.paramsinteger (1–200)No20Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 200. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. I valori più alti restituiscono 422 prima di qualsiasi addebito.

Esempi di codice

#
bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "realtor",
  "action": "property_search",
  "params": {
    "keyword": "10022"
  }
}'

Definizione OpenAPI (JSON)Gli esempi leggono la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY; il codice copiato non contiene mai la tua chiave.

Esempio di risposta

#
Acquisita il September 26, 2026 at 08:56 (UTC) chiamando questa API con i parametri dell'esempio di codice qui sopra. results e count sono la risposta reale di quella chiamata, da cui sono state rimosse le informazioni personali (nomi, handle, avatar, link ai profili, recapiti); l'elenco conserva i primi 2. id, billing e quota cambiano a ogni chiamata, quindi ne viene mostrata solo la struttura.
json
{  "id": "req_…",  "platform": "realtor",  "action": "property_search",  "results": [    {      "id": "•••",      "url": "https://www.realtor.com/realestateandhomes-detail/200-E-58th-St-Apt-6D_New-York_NY_10022_M34658-52869",      "title": "200 E 58th St Apt 6D",      "status": "for_sale",      "price": 850000,      "sold_price": 182000,      "sold_at": "1992-01-31T00:00:00+00:00",      "listed_at": "2026-09-26T09:23:16+00:00",      "property_type": "condos",      "beds": 1,      "area_sqft": 0,      "year_built": 1963,      "address": "200 E 58th St Apt 6D",      "city": "New York",      "state": "NY",      "postal_code": "10022",      "county": "New York",      "lat": 40.760578,      "lng": -73.966903,      "image_url": "https://ap.rdcpix.com/c66ce90814bb5fd99a1e190f0148454dl-m1477315349s.jpg",      "photo_count": 15,      "is_new_listing": true,      "platform": "realtor"    },    {      "id": "•••",      "url": "https://www.realtor.com/realestateandhomes-detail/303-Park-Ave-3304_New-York_NY_10022_M91518-56430",      "title": "303 Park Ave Unit 3304",      "status": "for_sale",      "price": 5350000,      "listed_at": "2026-09-25T20:01:34+00:00",      "property_type": "condos",      "beds": 2,      "area_sqft": 1461,      "year_built": 1931,      "address": "303 Park Ave Unit 3304",      "city": "New York",      "state": "NY",      "postal_code": "10022",      "county": "New York",      "lat": 40.756886,      "lng": -73.973892,      "image_url": "https://ap.rdcpix.com/f53f80b6ec7b0511ff9a94352cfa0222l-m3708302104s.jpg",      "photo_count": 30,      "is_new_listing": true,      "platform": "realtor"    }  ],  "count": 20,  "billing": {    "charged": …,    "charged_usd": …,    "balance_after_usd": …,    …  },  "quota": { … }}

Campi della risposta

#

I dati di business si trovano in results. La tabella elenca i campi che un record può contenere; i valori che la piattaforma non mostra non vengono mai inventati.

CampoSignificato
idID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse.
urlLink al record sulla piattaforma.
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
statusMantiene il significato attribuito dalla piattaforma
pricePrezzo come numero senza simbolo di valuta; vedi currency.
sold_priceMantiene il significato attribuito dalla piattaforma
sold_atMantiene il significato attribuito dalla piattaforma
listed_atMantiene il significato attribuito dalla piattaforma
property_typeMantiene il significato attribuito dalla piattaforma
bedsMantiene il significato attribuito dalla piattaforma
bathsMantiene il significato attribuito dalla piattaforma
area_sqftMantiene il significato attribuito dalla piattaforma
lot_sqftMantiene il significato attribuito dalla piattaforma
year_builtMantiene il significato attribuito dalla piattaforma
addressIndirizzo completo, passato così com'è.
cityNome della città nella lingua della piattaforma, non normalizzato.
stateMantiene il significato attribuito dalla piattaforma
postal_codeMantiene il significato attribuito dalla piattaforma
countyMantiene il significato attribuito dalla piattaforma
latMantiene il significato attribuito dalla piattaforma
lngMantiene il significato attribuito dalla piattaforma
image_urlLink all'immagine. Le funzionalità con più immagini possono restituire un array image_urls.
photo_countMantiene il significato attribuito dalla piattaforma
is_new_listingMantiene il significato attribuito dalla piattaforma
is_price_reducedMantiene il significato attribuito dalla piattaforma
is_foreclosureMantiene il significato attribuito dalla piattaforma
advertiser_emailsMantiene il significato attribuito dalla piattaforma
advertiser_phonesMantiene il significato attribuito dalla piattaforma
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).

Errori e addebiti

#
401
Chiave mancante o non valida.
402
Saldo insufficiente. Effettua prima una ricarica.
422
Nome o valore del parametro non valido. Correggilo seguendo i suggerimenti dell'errore. Nessun addebito.
429
Raggiunto il limite di richieste al minuto. Attendi il tempo indicato da Retry-After, poi riprova.
503
Impossibile completare. L'importo trattenuto torna sul tuo saldo. Se l'esito è incerto, verificalo prima di riprovare.
Risposta 200 vuota
Nessun dato. Nessun addebito.

Errori

Le nostre statistiche di visita interne sono sempre attive. Google Analytics viene caricato solo se scegli «Consenti analisi». Informativa sulla privacy