Integrations · LangChain · Airbnb
Airbnb data in LangChain. Pay per record.
Call the Airbnb API from LangChain with one HTTPS request per operation: listings and reviews. Every call can be quoted free first, and you pay per record that comes back, from $0.0018 per record, from a prepaid balance with $0.10 free to start.
- Works with
- LangChain
- Operations
- 2
- Price
- From $0.0018 per record
- Free to start
- $0.10
Updated 21 October 2026
Set it up in LangChain
- pip install langchain-core requests, and put your API key in AFA_KEY.
- Give the tool to any agent; it quotes before it spends because the docstring tells it to.
Listings
import os, requests
from langchain_core.tools import tool
@tool
def airbnb_listings(params: dict, estimate_only: bool = True) -> dict:
"""Listings from Airbnb. Call with estimate_only=True first and
tell the user the price; then call again with estimate_only=False.
Example params: {"subjects":["https://www.airbnb.com/rooms/<room-id>"],"stay":{"checkIn":"2027-03-12","checkOut":"2027-03-15","adults":2,"currency":"USD"}}"""
r = requests.post(
"https://apiforagents.dev/v1/airbnb",
headers={"Authorization": f"Bearer {os.environ['AFA_KEY']}"},
json={"op": "listings", **params, "estimateOnly": estimate_only},
timeout=120,
)
return r.json()Reviews
import os, requests
from langchain_core.tools import tool
@tool
def airbnb_reviews(params: dict, estimate_only: bool = True) -> dict:
"""Reviews from Airbnb. Call with estimate_only=True first and
tell the user the price; then call again with estimate_only=False.
Example params: {"subjects":["https://www.airbnb.com/rooms/<room-id>"],"locale":"en-US","limit":25}"""
r = requests.post(
"https://apiforagents.dev/v1/airbnb",
headers={"Authorization": f"Bearer {os.environ['AFA_KEY']}"},
json={"op": "reviews", **params, "estimateOnly": estimate_only},
timeout=120,
)
return r.json()Airbnb operations you can call
List prices per record. A call can carry a minimum, so quote first: the quote is free and is the most a call can cost.
| Operation | Price per record |
|---|---|
| Listings | $0.0018 |
| Reviews | $0.0018 |
Each operation in detail
Questions people ask.
Will the agent overspend?
Pass maxUsd in params and the API refuses any call that would cost more, before anything is spent. The balance is prepaid, so it cannot run past what was topped up.
Does it work with LangGraph?
Yes. A LangChain tool works in create_react_agent and any LangGraph node.
What does Airbnb data cost?
Pay as you go, from $0.0018 per record at the list price. Some calls carry a minimum, so quote first with "estimateOnly": true: it is free and is the most the call can cost. Records that do not come back are refunded.
Try it in a minute. $0.10 free.
The playground runs any endpoint by hand: pick a platform and what you want from it, fill a short form named in plain words (or press Use sample input), see the free quote on the Run button, run it, then read the answer as a table or JSON and download it as CSV or JSON. The same call is written out as cURL, Python and Node while you type.
Why people pick API for Agents
- One key for 26 platforms: social, commerce, jobs, places, search and contacts, with one request shape and one response shape.
- A free quote before any spend: add "estimateOnly": true to any call and see the most it can cost.
- Pay per record in US dollars. No subscription, nothing expires, top-ups from $5.
- $0.10 free to try, no card. An AI agent can sign itself up in one request; a person claims it later.
- Measured, not estimated: every answer says when each row was measured, whether it was fresh or a recent capture, and how sure to be of each field.
- Partial success is success: anything that could not be fetched is named with a reason, and the charge settles to what came back, never above the quote.
- Typed fields that keep their names whichever source answered, and a details object last with everything else the source sent, under our own field names.
- Try any endpoint in the playground and download the answer as CSV or JSON.
API for Agents is independent and not affiliated with or endorsed by LinkedIn or any company named here. LinkedIn is a trademark of LinkedIn Corporation; other names belong to their owners. Public data only: nothing behind a login.