API de Detalles del inmueble de Airbnb

POST

Salud de la API

Salud 24 h
Normal
Tiempo medio 24 h
—
  • Saludable / normal
  • Disponible
  • Limitada
  • Casi sin servicio
Normal

Parte de la url de un anuncio concreto y recoge distribución, capacidad, servicios y datos del anfitrión. city y los importes compatibles no convierten esta acción en otra búsqueda ni en una cotización de reserva.

Airbnb Detalles del inmueble lee la ficha pública de un alojamiento de Airbnb a partir de su enlace o de su ID: título y descripción, tipo de propiedad y de habitación, capacidad máxima, dormitorios, camas y baños, servicios, ubicación con coordenadas, valoración y número de reseñas, precio con su moneda, nombre del anfitrión y si tiene la distinción de Superanfitrión. Lo usan analistas de alquiler vacacional, gestores que comparan su anuncio con los de la zona y aplicaciones de viaje que completan fichas de alojamientos.

room_type es el campo que más cambia la lectura: indica si se alquila el alojamiento entero, una habitación privada o una compartida, y por tanto si compartirás espacio con el anfitrión. price llega sin símbolo, con la moneda en currency, y no es una cotización de reserva para unas fechas concretas. lat y lng sitúan el alojamiento en el mapa, mientras que location es la descripción tal como la publica Airbnb. Un review_count null significa que el dato no se publica, no que no haya reseñas.

Precio $1.39 por 1.000 solicitudes ($0.001389 por llamada). Las llamadas fallidas y los resultados vacíos no se cobran. Síncrona. Para tareas lentas añade "mode": "async" al cuerpo, recibe un job_id y consúltalo.

Prompt para IA

Pégalo en tu asistente de IA. Ya incluye los parámetros, los campos de respuesta y una solicitud de ejemplo de este endpoint, así que el asistente puede preguntarte qué necesitas y luego escribir el script.

Ayúdame a escribir un script de recopilación de datos con el endpoint de EveryInfra Airbnb: Detalles del inmueble (airbnb/property_detail).

Contrato del endpoint:
- Solicitud: POST https://api.everyinfra.com/api/v1/social con la cabecera Authorization: Bearer <clave API>. Lee la clave de la variable de entorno EVERYINFRA_API_KEY y no la escribas en el código.
- En el cuerpo de la solicitud, pon platform en airbnb y action en property_detail, y los parámetros dentro de params.
- Parámetros obligatorios:
  - url: El destino varía según la action: para property_detail, reviews o calendar, usa un enlace /rooms/<ID_alojamiento> o el ID del alojamiento; para host, usa un enlace /users/show/<ID_anfitrión> o el ID del anfitrión.
- Parámetros opcionales:
  - city: Nombre de la ciudad donde se encuentra el alojamiento. Es un campo de texto libre que se utiliza como condición de ciudad para esta API. No es un ID de alojamiento ni un código de país.
  - max_price: Límite superior para el filtro de precios de alojamientos. Envía un valor numérico que no sea inferior a min_price. No confundas el presupuesto total del alojamiento con el coste de una única solicitud a la API.
  - min_price: Límite inferior para el filtro de precios de alojamientos. Envía un valor numérico y úsalo junto con max_price. Es una condición para filtrar alojamientos, no un límite de consumo de la API.
- Devuelve un objeto. Campos principales: id, url, title, text, property_type, room_type, person_capacity, bedrooms, bathrooms, beds, location, lat; 21 campos en total, lista completa en https://api.everyinfra.com/api/v1/social/catalog?platform=airbnb.
- Cuerpo de solicitud de ejemplo:
{
  "platform": "airbnb",
  "action": "property_detail",
  "params": {
    "url": "https://www.airbnb.com/rooms/12937"
  }
}
- Precio: $1.39 por 1.000 solicitudes; los resultados fallidos y vacíos no se cobran.
- Para decenas o cientos de objetivos, añade "mode": "async" al cuerpo: recibes un job_id al instante y consultas GET https://api.everyinfra.com/api/v1/jobs/{job_id} para obtener el resultado.
- Ante un 422, corrige la solicitud con los nombres de parámetros y los valores admitidos que sugiere el error; ante un 429 o un 503, espera lo que indique Retry-After y vuelve a intentarlo.

Antes de escribir código, pregúntame qué objetivos necesito, cuántos, qué campos y en qué formato quiero el resultado; luego confirma conmigo el plan y el coste aproximado.

Parámetros de la solicitud

NombreUbicaciónTipoObligatorioPor defectoDescripción
AuthorizationheaderstringSí-Bearer seguido de tu clave de API. Créala en la consola; nunca la pongas en una URL ni en un repositorio de código.
platformbodystringSíairbnbIdentificador de la plataforma, valor fijo.
actionbodystringSíproperty_detailIdentificador de la capacidad, valor fijo.
urlbody.paramsNo declaradoSí-El destino varía según la action: para property_detail, reviews o calendar, usa un enlace /rooms/<ID_alojamiento> o el ID del alojamiento; para host, usa un enlace /users/show/<ID_anfitrión> o el ID del anfitrión. Los identificadores de alojamiento y de anfitrión no son intercambiables.
citybody.paramsNo declaradoNo-Nombre de la ciudad donde se encuentra el alojamiento. Es un campo de texto libre que se utiliza como condición de ciudad para esta API. No es un ID de alojamiento ni un código de país.
max_pricebody.paramsNo declaradoNo-Límite superior para el filtro de precios de alojamientos. Envía un valor numérico que no sea inferior a min_price. No confundas el presupuesto total del alojamiento con el coste de una única solicitud a la API.
min_pricebody.paramsNo declaradoNo-Límite inferior para el filtro de precios de alojamientos. Envía un valor numérico y úsalo junto con max_price. Es una condición para filtrar alojamientos, no un límite de consumo de la API.

Ejemplos de código

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": "airbnb",
  "action": "property_detail",
  "params": {
    "url": "https://www.airbnb.com/rooms/12937"
  }
}'

[Definición OpenAPI (JSON)]Los ejemplos leen la clave de la variable de entorno EVERYINFRA_API_KEY; el código copiado nunca contiene tu clave.

Ejemplo de respuesta

Respuesta real

Obtenida el 26 de septiembre de 2026, 08:56 (UTC) llamando a esta API con los parámetros del ejemplo de código de arriba. results y count son la respuesta real de esa llamada, sin información personal (nombres, usuarios, avatares, enlaces de perfil, datos de contacto). id, billing y quota cambian en cada llamada, por eso solo se muestra su estructura.

json
{
  "id": "req_…",
  "platform": "airbnb",
  "action": "property_detail",
  "results": {
    "id": "12937",
    "url": "https://www.airbnb.com/rooms/12937",
    "title": "1 Stop to Midtown! Private Bedroom, Landmark House",
    "text": "Private room, dedicated bath in a single-family townhouse, where I live and work (architect/photographer ).\nTotally renovated Queen Anne Historic Townhouse on a  Landmark Block.  \nOne stop from Manhattan!\nEnjoy the rear private garden at breakfast time.\nSmoking allowed in garden …",
    "property_type": "N/A",
    "room_type": "N/A",
    "person_capacity": 2,
    "bedrooms": 1,
    "bathrooms": 1,
    "beds": 1,
    "location": "New York City",
    "lat": 40.74757,
    "lng": -73.94571,
    "rating": 4.92,
    "review_count": 496,
    "host_name": "N/A",
    "is_superhost": false,
    "platform": "airbnb",
    "rating_scale": 5
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Campos de la respuesta

Los datos están en results. La tabla lista los campos que puede tener cada registro; los valores que la plataforma no muestra nunca se inventan.

CampoSignificado
idIdentificador único del registro en la plataforma. Solo es único dentro de una plataforma; puede repetirse entre plataformas.
urlEnlace al registro en la plataforma.
titleTítulo. null cuando la plataforma no usa títulos (por ejemplo publicaciones solo de texto).
textTexto del contenido sin HTML, completo y sin recortes (en algunas plataformas los resultados de listado solo traen un extracto; lo indican las notas de campos de la plataforma).
property_typeConserva el significado de la plataforma
room_typeConserva el significado de la plataforma
person_capacityConserva el significado de la plataforma
bedroomsConserva el significado de la plataforma
bathroomsConserva el significado de la plataforma
bedsConserva el significado de la plataforma
locationDescripción de la ubicación tal como la da la plataforma; el formato varía.
latConserva el significado de la plataforma
lngConserva el significado de la plataforma
ratingValoración. La escala depende de la plataforma: rating_scale en la misma fila indica el máximo (normalmente 5; Booking, Douban, iQIYI y NAVER usan 10). Convierte con rating_scale antes de comparar entre plataformas o la comparación puede salir al revés.
rating_scaleMáximo de rating en la misma fila: 5 en escalas de cinco estrellas y 10 en escalas de diez puntos. Solo aparece si la fila tiene rating.
review_countNúmero de reseñas, en capacidades de productos y negocios. null significa no publicado, no 0.
pricePrecio como número, sin símbolo de moneda; ver currency.
currencyCódigo de moneda del precio (por ejemplo CNY, USD). Si hay price pero currency es null, no supongas una moneda.
host_nameConserva el significado de la plataforma
is_superhostConserva el significado de la plataforma
amenitiesConserva el significado de la plataforma
platformIdentificador de la plataforma, igual que platform en la solicitud (por ejemplo xiaohongshu, tiktok).

Preguntas frecuentes

¿Cómo consulto un anuncio de Airbnb con la API?

Envía una solicitud HTTPS autenticada con tu clave API, con airbnb como platform, property_detail como action y, dentro de params, el enlace del anuncio en url, por ejemplo https://www.airbnb.com/rooms/12937, o solo su ID, 12937. La respuesta llega en JSON, así que cualquier lenguaje con un cliente HTTP puede leer campos como title, room_type o amenities.

¿Qué diferencia hay entre el ID del alojamiento y el del anfitrión?

El ID del alojamiento es el número que sigue a /rooms/ en el enlace del anuncio, y es lo que acepta url en esta capacidad. El del anfitrión aparece en enlaces /users/show/ y corresponde a Airbnb Perfiles de anfitriones; los dos no son intercambiables. El mismo enlace /rooms/ sirve además para Airbnb Reseñas y Airbnb Calendario de disponibilidad.

¿El precio es el de una reserva para mis fechas?

No. price es el precio que muestra la ficha, con la moneda en currency, y no una cotización para unas fechas concretas. Para saber qué noches están libres, pasa el mismo enlace a Airbnb Calendario de disponibilidad, y compara alojamientos solo con precios leídos en condiciones equivalentes. Para buscar alojamientos por destino, usa Airbnb Búsqueda.

Errores y facturación

401
Falta la clave o no es válida. La autenticación se comprueba antes que los parámetros, así que las solicitudes sin autenticar no ven el esquema de parámetros.
422
Nombre o valor de parámetro incorrecto. El error enumera los parámetros y valores permitidos de esta capacidad y la opción más cercana; ocurre antes de cualquier cobro.
402
Saldo insuficiente. Recarga primero.
429
Se alcanzó el límite de solicitudes por minuto de la cuenta (todas sus claves API cuentan juntas; antes se aplica el límite propio de una clave si es menor). Espera lo que indique Retry-After y vuelve a intentarlo; un paquete de velocidad en la consola sube el límite.
503
No se pudo completar ahora. Cualquier cargo de la llamada vuelve automáticamente a tu saldo, y el recibo de facturación de la respuesta indica el resultado real, también cuando aún no se conoce. No reenvíes a ciegas.
200 vacío
La solicitud terminó sin datos y no se cobra (billing.reason = empty_result_refunded).

Referencias oficiales

Solo sirven para contrastar objetos y términos. No implican autorización ni respaldo de la plataforma a EveryInfra.

  • Airbnb: qué partes de una reseña son públicas ↗

    Airbnb diferencia la reseña pública, la valoración general y cierta información por categorías que solo ven el anfitrión y la plataforma. Esta fuente ayuda a no mezclar la puntuación del alojamiento con la del anfitrión; no garantiza que todos esos datos aparezcan en la respuesta.

    Comprobado el 2026-09-04