skills$openclaw/amadeus-hotels
kesslerio6.1k

by kesslerio

amadeus-hotels – OpenClaw Skill

amadeus-hotels is an OpenClaw Skills integration for coding workflows. Search hotel prices and availability via Amadeus API. Find vacation hotels by city, coordinates, or amenities. Compare prices, view ratings, get offer details. Track prices with alerts. Use when user asks to "find hotels", "search hotels in [city]", "hotel prices", "vacation accommodation", "hotel deals", "track hotel price".

6.1k stars27 forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameamadeus-hotels
descriptionSearch hotel prices and availability via Amadeus API. Find vacation hotels by city, coordinates, or amenities. Compare prices, view ratings, get offer details. Track prices with alerts. Use when user asks to "find hotels", "search hotels in [city]", "hotel prices", "vacation accommodation", "hotel deals", "track hotel price". OpenClaw Skills integration.
ownerkesslerio
repositorykesslerio/amadeus-hotels
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @kesslerio/amadeus-hotels
last updatedFeb 7, 2026

Maintainer

kesslerio

kesslerio

Maintains amadeus-hotels in the OpenClaw Skills directory.

View GitHub profile
File Explorer
11 files
.
references
amenities.md
2.0 KB
scripts
auth.py
3.3 KB
details.py
8.1 KB
offers.py
6.6 KB
search.py
5.1 KB
track.py
9.4 KB
_meta.json
283 B
README.md
2.0 KB
SKILL.md
6.6 KB
SKILL.md

name: amadeus-hotels description: Search hotel prices and availability via Amadeus API. Find vacation hotels by city, coordinates, or amenities. Compare prices, view ratings, get offer details. Track prices with alerts. Use when user asks to "find hotels", "search hotels in [city]", "hotel prices", "vacation accommodation", "hotel deals", "track hotel price". homepage: https://github.com/kesslerio/amadeus-hotels-clawhub-skill metadata: { "openclaw": { "emoji": "🏨", "requires": { "bins": ["python3"], "env": ["AMADEUS_API_KEY", "AMADEUS_API_SECRET"], }, "primaryEnv": "AMADEUS_API_KEY", "install": [ { "id": "pip-requests", "kind": "pip", "packages": ["requests"], "label": "Install requests (pip)", }, ], }, }

Amadeus Hotels Skill 🏨

Search hotel prices, availability, and ratings via the Amadeus Self-Service API. Perfect for vacation planning and deal hunting.

Setup

  1. Get API credentials at https://developers.amadeus.com/self-service

    • Create account → My Apps → Create new app
    • Copy API Key and API Secret
  2. Set environment variables:

export AMADEUS_API_KEY="your-api-key"
export AMADEUS_API_SECRET="your-api-secret"
export AMADEUS_ENV="test"  # or "production" for real bookings
  1. Install dependency:
pip install requests

Free tier: ~2,000 requests/month in test, pay-per-use after in production.

Quick Reference

TaskScriptExample
Search by cityscripts/search.py--city PAR --checkin 2026-03-15 --checkout 2026-03-20
Get offersscripts/offers.py--hotels HTPAR123,HTPAR456 --adults 2
Offer detailsscripts/details.py--offer-id ABC123
Track pricescripts/track.py--add --hotel HTPAR123 --target 150
Check trackedscripts/track.py--check

1. Hotel Search

Find hotels by city code (IATA) or coordinates:

# By city
python3 <skill>/scripts/search.py --city PAR --checkin 2026-03-15 --checkout 2026-03-20

# By coordinates (near a landmark)
python3 <skill>/scripts/search.py --lat 48.8584 --lon 2.2945 --radius 5 --checkin 2026-03-15 --checkout 2026-03-20

# With filters
python3 <skill>/scripts/search.py --city NYC --amenities WIFI,POOL,SPA --ratings 4,5

Common city codes: PAR (Paris), NYC (New York), TYO (Tokyo), BCN (Barcelona), LON (London), LAX (Los Angeles), SFO (San Francisco)

2. Get Pricing & Availability

Once you have hotel IDs from search:

python3 <skill>/scripts/offers.py \
  --hotels HTPAR001,HTPAR002 \
  --checkin 2026-03-15 \
  --checkout 2026-03-20 \
  --adults 2 \
  --rooms 1

Returns: Room types, prices, cancellation policies, board types.

3. Offer Details

Get full details for a specific offer before booking:

python3 <skill>/scripts/details.py --offer-id <offer-id-from-search>

Returns: Detailed room info, full cancellation policy, payment terms, hotel contact.

4. Hotel Ratings & Sentiment

Get aggregated review sentiment:

python3 <skill>/scripts/details.py --hotel-id HTPAR001 --ratings

Returns: Overall score (0-100), category scores (Staff, Location, WiFi, Cleanliness, etc.)

5. Price Tracking

Track hotels and get alerts when prices drop:

# Add hotel to tracking
python3 <skill>/scripts/track.py --add \
  --hotel HTPAR001 \
  --checkin 2026-03-15 \
  --checkout 2026-03-20 \
  --adults 2 \
  --target 150  # Alert if price drops below $150/night

# Check all tracked hotels (run via cron)
python3 <skill>/scripts/track.py --check

# List tracked hotels
python3 <skill>/scripts/track.py --list

# Remove from tracking
python3 <skill>/scripts/track.py --remove --hotel HTPAR001

Cron Setup for Price Alerts

Add to OpenClaw cron for automatic price monitoring:

# Check hotel prices twice daily
- schedule: "0 9,18 * * *"
  task: "Run hotel price tracker and alert on drops"
  command: "python3 <skill>/scripts/track.py --check"

When prices drop below target, the script outputs alert text. Configure your notification channel in the cron task.

Output Formatting

Scripts output JSON by default. Add --format human for readable output:

python3 <skill>/scripts/search.py --city PAR --format human

Human format example:

🏨 Hotel & Spa Paris Marais ★★★★
   📍 15 Rue du Temple, Paris
   💰 €189/night (was €220)
   ✨ WIFI, SPA, RESTAURANT
   📊 Rating: 87/100 (Staff: 92, Location: 95)

Amenity Codes

Common filters for --amenities:

CodeMeaning
WIFIFree WiFi
POOLSwimming pool
SPASpa/wellness
GYMFitness center
RESTAURANTOn-site restaurant
PARKINGParking available
PETS_ALLOWEDPet-friendly
AIR_CONDITIONINGA/C
KITCHENKitchen/kitchenette

Full list in references/amenities.md.

⚠️ Important: Pricing Disclaimer

Amadeus API prices are NOT retail prices. The API returns negotiated, net, or wholesale rates — not the public prices you see on Booking.com, Expedia, or hotel websites.

Key differences:

  • Net vs Retail: API returns "net rates" (raw cost), not marked-up retail prices
  • B2B Pricing: Designed for travel agencies/developers to add their own markup
  • Negotiated Rates: May include corporate or consortia rates unavailable to consumers
  • Tax Breakdown: Prices often show base + taxes separately

Use these prices for comparison and tracking trends, not as exact retail quotes. Actual booking prices on consumer sites will differ.

Limitations & Notes

  • Test environment: Limited/cached data, not real-time. Good for development.
  • Production: Real prices but requires "Move to Production" in Amadeus dashboard.
  • No direct booking: API returns offer details; actual booking requires payment handling (PCI compliance).
  • Rate limits: 10 TPS (test), 40 TPS (production). Scripts include backoff.
  • Data freshness: Prices change frequently. Always re-check before booking elsewhere.
  • Not retail prices: See pricing disclaimer above.

Error Handling

ErrorMeaningAction
401Auth failedCheck API key/secret
429Rate limitedWait and retry (auto-handled)
400Bad requestCheck parameters (dates, codes)
No resultsNo availabilityTry different dates or expand search

References

README.md

Amadeus Hotels Skill 🏨

An OpenClaw skill for searching hotel prices and availability via the Amadeus Self-Service API. Perfect for vacation planning and deal hunting.

Features

  • Hotel Search: Find hotels by city code or coordinates
  • Pricing: Get room rates and availability
  • Details: Full offer info, cancellation policies, ratings
  • Price Tracking: Monitor hotels and alert on price drops

Installation

For OpenClaw

Clone to your skills directory:

git clone https://github.com/kesslerio/amadeus-hotels-clawhub-skill.git ~/.openclaw/skills/amadeus-hotels

Or add to your workspace's skills/ folder.

pip install requests

Amadeus API Setup

  1. Create account at https://developers.amadeus.com/self-service
  2. Create a new app to get API credentials
  3. Set environment variables:
export AMADEUS_API_KEY="your-api-key"
export AMADEUS_API_SECRET="your-api-secret"
export AMADEUS_ENV="test"  # or "production"

Usage

Search Hotels

# By city
python3 scripts/search.py --city PAR --format human

# By coordinates
python3 scripts/search.py --lat 48.8584 --lon 2.2945 --radius 5 --format human

# With filters
python3 scripts/search.py --city NYC --amenities WIFI,POOL --ratings 4,5

Get Pricing

python3 scripts/offers.py \
  --hotels HTPAR001,HTPAR002 \
  --checkin 2026-03-15 \
  --checkout 2026-03-20 \
  --adults 2 \
  --format human

Track Prices

# Add to tracking
python3 scripts/track.py --add \
  --hotel HTPAR001 \
  --checkin 2026-03-15 \
  --checkout 2026-03-20 \
  --target 150

# Check all tracked (for cron)
python3 scripts/track.py --check

# List tracked
python3 scripts/track.py --list

Free Tier

  • ~2,000 requests/month in test environment
  • Pay-per-use in production after quota

License

MIT

Links

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install amadeus-hotels?

Run openclaw add @kesslerio/amadeus-hotels in your terminal. This installs amadeus-hotels into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/kesslerio/amadeus-hotels. Review commits and README documentation before installing.