airbnb.com

Airbnb (Hosting)

Host schedule and money on airbnb.com: reservations table, per-listing earnings, booking stats, payout rows.

v0.1.0 3/4 verified travelhostingbookingspayouts
jokull <https://github.com/jokull> · https://www.airbnb.com
ab-plus add airbnb.com && ab-plus login airbnb.com && ab-plus run airbnb.com/<op>

Auth paths

session
agent-browser session (--session <key> --restore); human logs in once in a headed window. Fetch ops run inside the page context via eval because Airbnb's SCA airlock state is not reproducible from exported cookies.
ttl: 24h
credentials: AB_AIRBNB_EMAIL, AB_AIRBNB_PASSWORD
form
⛔ REFUSED: Automated form login risks Airbnb fraud flags; use the headed browser handoff instead.

Operations

Op Kind Risk Requires Description
airbnb.com/reservations dom read-only sca-free Upcoming/Completed/Canceled reservations with guest, party, check-in/out, confirmation code and total payout. SCA-free.
verified 2026-08-14
input
{
  "type": "object",
  "properties": {
    "tab": {
      "type": "string",
      "enum": [
        "Upcoming",
        "Completed",
        "Canceled"
      ]
    }
  }
}
output
{
  "type": "object",
  "properties": {
    "status": {
      "type": [
        "string",
        "null"
      ]
    },
    "guest": {
      "type": [
        "string",
        "null"
      ]
    },
    "party": {
      "type": [
        "string",
        "null"
      ]
    },
    "phone": {
      "type": [
        "string",
        "null"
      ]
    },
    "checkIn": {
      "type": [
        "string",
        "null"
      ]
    },
    "checkOut": {
      "type": [
        "string",
        "null"
      ]
    },
    "bookedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "listing": {
      "type": [
        "string",
        "null"
      ]
    },
    "confirmationCode": {
      "type": [
        "string",
        "null"
      ]
    },
    "payout": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
airbnb.com/listing-earnings graphql read-only sca-free FetchSegmentedHostTransactionStats — gross earnings, adjustments, tax withholding, payout total per listing. SCA-free.
verified 2026-08-14
input
{
  "type": "object",
  "properties": {
    "months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 24,
      "default": 12
    }
  }
}
output
{
  "type": "object",
  "properties": {
    "listingId": {
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "grossEarnings": {
      "type": [
        "string",
        "null"
      ]
    },
    "grossEarningsMicros": {
      "type": [
        "string",
        "null"
      ]
    },
    "taxWithholding": {
      "type": [
        "string",
        "null"
      ]
    },
    "adjustments": {
      "type": [
        "string",
        "null"
      ]
    },
    "payoutTotal": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
airbnb.com/booking-stats graphql read-only sca-free HostBookingStats — nights/occupancy aggregated and by listing for a window. SCA-free.
verified 2026-08-14
input
{
  "type": "object",
  "properties": {
    "months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 24,
      "default": 12
    }
  }
}
output
{
  "type": "object",
  "properties": {
    "label": {
      "type": "string"
    },
    "value": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
airbnb.com/payouts graphql read-only sca-airlock sca-gated FetchPayoutTransactions — row-level payouts with guest names and stay details. Gated by Airbnb's payments SCA airlock (OTP + security question); a human must complete it in the browser session once.
unverified
input
{
  "type": "object",
  "properties": {
    "months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 24,
      "default": 12
    }
  }
}
output
{
  "type": "object",
  "properties": {
    "confirmationCode": {
      "type": "string"
    },
    "guest": {
      "type": [
        "string",
        "null"
      ]
    },
    "party": {
      "type": [
        "string",
        "null"
      ]
    },
    "checkIn": {
      "type": [
        "string",
        "null"
      ]
    },
    "checkOut": {
      "type": [
        "string",
        "null"
      ]
    },
    "listing": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": [
        "string",
        "null"
      ]
    },
    "payout": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}

Raw artifacts

The manifest is the discovery record — the schema, the docs, and the search index in one file. manifest.json · recipe.ts · README.md