VRBO BigQuery

Get VRBO reviews into BigQuery.

One endpoint call, the BigQuery setup steps, and a field-to-column map. Then keep it refreshing on a schedule.

50 free requests on signup No credit card

Trusted by hospitality teams at

The pieces

One source, one destination.

VRBO VRBO

VRBO covers the vacation-rental side: listing reviews, with property IDs resolvable straight from a listing URL. On this page those reviews feed BigQuery, one row per review.

BigQuery BigQuery

BigQuery wants rows, not API calls. A small scheduled job fetches the JSON, flattens the fields you care about, and appends them to a table, so history accumulates and SQL does the rest. Here it becomes the front end for live VRBO reviews.

The call

One endpoint returns VRBO reviews.

The VRBO Listing Reviews endpoint returns clean JSON for one listing. Send your key in the X-API-Key header. See the endpoint docs for every parameter.

Setup

Wire BigQuery to the endpoint.

  1. 01

    Create a StayAPI account and copy your API key from the dashboard.

  2. 02

    Create a dataset and table with the schema below.

  3. 03

    Run the Python script below on a schedule (Cloud Run jobs and Cloud Scheduler work well).

  4. 04

    Query the table or point your BI layer at it.

Config

Python: fetch and insert.

This uses the real endpoint URL with the example listing id. Swap in your listing id and your API key.

load.py
import requests, psycopg2

URL = "https://api.stayapi.com/v1/vrbo/listing/reviews/19006312"
HEADERS = {"X-API-Key": "YOUR_API_KEY"}

resp = requests.get(URL, headers=HEADERS, timeout=30)
resp.raise_for_status()
body = resp.json()
records = body.get("data", {}).get("reviews") or body.get("reviews") or body.get("rooms") or []

conn = psycopg2.connect(dsn="YOUR_CONNECTION_STRING")
cur = conn.cursor()
for r in records:
    cur.execute(
        "INSERT INTO stay_data (id, rating, rating_text, title) VALUES (%s, %s, %s, %s)",
        (r.get("id"), r.get("rating"), r.get("rating_text"), r.get("title")),
    )
conn.commit()
cur.close()
conn.close()

50 free requests on signup, no card.

Field mapping

Response fields to columns.

Each field from the VRBO Listing Reviews response, and a suggested column name.

Response field Column
property_id property_id
total_reviews total_reviews
page page
page_size page_size
has_more has_more
sort_by sort_by
id id
rating rating
rating_text rating_text
title title
text text
reviewer_name reviewer_name
verified verified
Result

What it looks like in BigQuery.

The fields from the mapping above land as columns: property_id, total_reviews, page, page_size. Refreshed on the schedule you set.

The columns you get

Every row is one listing record from the VRBO Listing Reviews response. These fields become columns:

  • property_id
  • total_reviews
  • page
  • page_size
  • has_more
  • sort_by
BigQuery showing VRBO reviews

Get your key.

Sign up, copy your key into the snippet above, and pull live VRBO reviews into BigQuery.

01 · the fast path

Try it free

50 free requests on signup. Fastest way to see if the schema fits.

Start free
  • Live API key in 30 seconds
  • No credit card required
  • Same schema as paid
02 · talk to us

Talk through your pipeline

15 minutes. Volume, endpoint mix, and where the data lands. Walk out with a quote.

Book a demo
  • Quote on the call, not after
  • Engineering, not sales
  • No deck, no slides