🚀 Airbnb Search & Listings - Desktop Extension (DXT)
A comprehensive Desktop Extension enabling users to search Airbnb listings with advanced filtering and retrieve detailed property information. Packaged as a Model Context Protocol (MCP) server in the Desktop Extension (DXT) format, it ensures easy installation and seamless integration with compatible AI applications.
🚀 Quick Start
This extension simplifies the process of searching Airbnb listings. Follow the installation steps below based on your AI application to get started.
✨ Features
🔍 Advanced Search Capabilities
- Location-based search: Support cities, states, and regions for targeted searches.
- Google Maps Place ID integration: Pinpoint precise locations.
- Date filtering: Specify check-in and check-out dates.
- Guest configuration: Set the number of adults, children, infants, and pets.
- Price range filtering: Define minimum and maximum price constraints.
- Pagination support: Browse through large result sets effortlessly.
🏠 Detailed Property Information
- Comprehensive listing details: Get amenities, policies, and highlights.
- Location information: Access coordinates and neighborhood details.
- House rules and policies: Make informed booking decisions.
- Property descriptions and key features: Understand the property better.
- Direct links to Airbnb listings: Facilitate easy booking.
🛡️ Security & Compliance
- Robots.txt compliance: Configurable override for testing.
- Request timeout management: Prevent hanging requests.
- Enhanced error handling: With detailed logging.
- Rate limiting awareness: Ensure respectful API usage.
- Secure configuration: Through DXT user settings.
📦 Installation
For Claude Desktop
This extension comes as a Desktop Extension (DXT) file. To install:
- Download the
.dxt file from the releases page.
- Open your compatible AI application (e.g., Claude Desktop).
- Install the extension via the application's extension manager.
- Configure the extension settings as required.
For Cursor, etc.
Ensure Node.js is installed on your desktop for npx to work.
- Navigate to: Cursor Settings > Tools & Integrations > New MCP Server.
- Add one of the following to your
mcp.json:{
"mcpServers": {
"airbnb": {
"command": "npx",
"args": [
"-y",
"@openbnb/mcp-server-airbnb"
]
}
}
}
To ignore robots.txt for all requests, use this version with --ignore-robots-txt args:{
"mcpServers": {
"airbnb": {
"command": "npx",
"args": [
"-y",
"@openbnb/mcp-server-airbnb",
"--ignore-robots-txt"
]
}
}
}
- Restart your application.
📚 Documentation
Configuration
The extension offers the following user-configurable options:
| Property |
Details |
| Ignore robots.txt |
Type: Boolean (checkbox) Default: false Description: Bypass robots.txt restrictions when making requests to Airbnb. Recommendation: Keep disabled unless needed for testing purposes. |
Tools
airbnb_search
Search for Airbnb listings with comprehensive filtering options.
Parameters:
location (required): Location to search (e.g., "San Francisco, CA")
placeId (optional): Google Maps Place ID (overrides location)
checkin (optional): Check-in date in YYYY-MM-DD format
checkout (optional): Check-out date in YYYY-MM-DD format
adults (optional): Number of adults (default: 1)
children (optional): Number of children (default: 0)
infants (optional): Number of infants (default: 0)
pets (optional): Number of pets (default: 0)
minPrice (optional): Minimum price per night
maxPrice (optional): Maximum price per night
cursor (optional): Pagination cursor for browsing results
ignoreRobotsText (optional): Override robots.txt for this request
Returns:
- Search results with property details, pricing, and direct links
- Pagination information for browsing additional results
- Search URL for reference
airbnb_listing_details
Get detailed information about a specific Airbnb listing.
Parameters:
id (required): Airbnb listing ID
checkin (optional): Check-in date in YYYY-MM-DD format
checkout (optional): Check-out date in YYYY-MM-DD format
adults (optional): Number of adults (default: 1)
children (optional): Number of children (default: 0)
infants (optional): Number of infants (default: 0)
pets (optional): Number of pets (default: 0)
ignoreRobotsText (optional): Override robots.txt for this request
Returns:
- Detailed property information including:
- Location details with coordinates
- Amenities and facilities
- House rules and policies
- Property highlights and descriptions
- Direct link to the listing
🔧 Technical Details
Architecture
- Runtime: Node.js 18+
- Protocol: Model Context Protocol (MCP) via stdio transport
- Format: Desktop Extension (DXT) v0.1
- Dependencies: Minimal external dependencies for security and reliability
Error Handling
- Comprehensive error logging with timestamps
- Graceful degradation when Airbnb's page structure changes
- Timeout protection for network requests
- Detailed error messages for troubleshooting
Security Measures
- Robots.txt compliance by default
- Request timeout limits
- Input validation and sanitization
- Secure environment variable handling
- No sensitive data storage
Performance
- Efficient HTML parsing with Cheerio
- Request caching where appropriate
- Minimal memory footprint
- Fast startup and response times
Compatibility
| Property |
Details |
| Platforms |
macOS, Windows, Linux |
| Node.js |
18.0.0 or higher |
| Claude Desktop |
0.10.0 or higher |
| Other MCP clients |
Compatible with any MCP-supporting application |
Development
Building from Source
npm install
npm run build
npm run watch
Testing
The extension can be tested by running the MCP server directly:
node dist/index.js
node dist/index.js --ignore-robots-txt
Legal and Ethical Considerations
⚠️ Important Note
- Respect Airbnb's Terms of Service: This extension is for legitimate research and booking assistance.
- Robots.txt Compliance: The extension respects robots.txt by default.
- Rate Limiting: Be mindful of request frequency to avoid overwhelming Airbnb's servers.
- Data Usage: Only extract publicly available information for legitimate purposes.
Support
- Issues: Report bugs and feature requests on GitHub Issues.
- Documentation: Additional documentation available in the repository.
- Community: Join discussions about MCP and DXT development.
📄 License
This project is under the MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please read the contributing guidelines and submit pull requests for any improvements.
⚠️ Important Note
This extension is not affiliated with Airbnb, Inc. It is an independent tool designed to help users search and analyze publicly available Airbnb listings.