Expedia Syphoon API Documentation

Overview

The Expedia Syphoon API allows you to scrape data from Expedia using two methods:

  1. Expedia HTML: Get the full HTML content of any Expedia page.
  2. Expedia GraphQL API: Directly interact with Expedia’s GraphQL endpoints for structured data.

Expedia HTML

Use this method to fetch the raw HTML of an Expedia page.

Endpoint

  • URL: https://api.syphoon.com
  • Method: POST

POST Body

{
  "url": "https://www.expedia.com/Victorville-Hotels-Days-Inn-By-Wyndham-South-Lenwood.h522581.Hotel-Information?chkin=2026-04-25&chkout=2026-04-29...",
  "key": "YOUR_SYPHOON_KEY",
  "method": "GET"
}

Sample Code Snippets

curl --location 'https://api.syphoon.com' \
--header 'Content-Type: application/json' \
--data '{
    "url": "https://www.expedia.com/Victorville-Hotels-Days-Inn-By-Wyndham-South-Lenwood.h522581.Hotel-Information?chkin=2026-04-25&chkout=2026-04-29&x_pwa=1&rfrr=HSR&pwa_ts=1777117478829&referrerUrl=aHR0cHM6Ly93d3cuZXhwZWRpYS5jb20vSG90ZWwtU2VhcmNo&useRewards=false&rm1=a2&regionId=206&destination=California%2C+United+States+of+America&destType=MARKET&latLong=36.778259%2C-119.417931&price=0%2C300&sort=RECOMMENDED&top_dp=261&top_cur=USD&userIntent=&selectedRoomType=327176122&selectedRatePlan=403960944&categorySearch=any_option&searchId=c0641e84-52c2-477b-8c7b-9861e18769f4",
    "key": "YOUR_SYPHOON_KEY",
    "method": "GET"
}'

Expedia GraphQL API

Use this method to fetch structured data directly from Expedia’s GraphQL endpoints.

Endpoint

  • URL: https://api.syphoon.com
  • Method: POST

POST Body

{
  "url": "https://www.expedia.com/graphql",
  "key": "YOUR_SYPHOON_KEY",
  "method": "POST",
  "expedia_body": { ... }
}

Sample Code Snippet

curl --location 'https://api.syphoon.com' \
--header 'Content-Type: application/json' \
--data '{
    "url": "https://www.expedia.com/graphql",
    "key": "YOUR_SYPHOON_KEY",
    "method": "POST",
    "expedia_body": {
    "0": {
        "extensions": {
            "persistedQuery": {
                "sha256Hash": "418daf3899d4cebd5a0d051086b9ae32b44ef54903140a57c493fc841fb1c8f2",
                "version": 1
            }
        },
        "operationName": "LodgingUniversalSortAndFiltersQuery",
        "variables": {
            "context": {
                "currency": "USD",
                "device": { "type": "DESKTOP" },
                "eapid": 0,
                "identity": {
                    "authState": "ANONYMOUS",
                    "duaid": "ef28616b-3c12-4e52-ae95-4ba16eef14f8"
                },
                "locale": "en_US",
                "privacyTrackingState": "CAN_TRACK",
                "siteId": 1,
                "tpid": 1
            },
            "criteria": {
                "primary": {
                    "dateRange": {
                        "checkInDate": { "day": 25, "month": 4, "year": 2026 },
                        "checkOutDate": { "day": 29, "month": 4, "year": 2026 }
                    },
                    "destination": {
                        "coordinates": {
                            "latitude": 36.778259,
                            "longitude": -119.417931
                        },
                        "mapBounds": null,
                        "regionId": "206",
                        "regionName": "California, United States of America"
                    },
                    "rooms": [
                        { "adults": 2, "children": [] }
                    ]
                },
                "secondary": {
                    "booleans": [
                        { "id": "showFilterNotification", "value": false }
                    ],
                    "ranges": [],
                    "selections": [
                        { "id": "sort", "value": "RECOMMENDED" },
                        { "id": "useRewards", "value": "SHOP_WITHOUT_POINTS" },
                        { "id": "searchId", "value": "2dea8414-82e2-49f9-898f-d66a93b0c629" },
                        { "id": "categorySearch", "value": "any_option" }
                    ]
                }
            },
            "includeCriteria": false,
            "shoppingContext": {
                "queryTriggeredBy": "PAGE-LOAD"
            }
        }
    }
}
}'

Authentication

Each request requires an API key in the POST data, provided upon subscription to the Syphoon service. The API key must be included in every request to authenticate the user.

Rate Limits

The rate limits applied to each user are custom and based on the subscription plan chosen. You should not cross the concurrency you have been assigned because you will get a “Too many requests” error.

Response Structure & Status Codes

For successful responses, you will get the HTML or JSON as returned by Expedia. The Status Code will be 200 for these responses.

For failed responses, the Status Code can be 4xx or 5xx:

  • Status Code 404 will be returned when the provided Expedia URL is incorrect (404 requests will be charged, so make sure of the URLs).
  • Status Code 429 will be returned when concurrency limits are breached.
  • Status Code 400 will be returned if Expedia does not send a valid response (these will be charged).
  • Status Code 5xx will be sent for server errors.

We request you to check the Status Code before trying to parse the response. You will only be charged for responses with Status Codes 200, 400 and 404.

For any help or assistance, please don’t hesitate to reach out to support@syphoon.com and we will be glad to help you.