Airbnb · Schema
Experience
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier of the experience. |
| name | string | The display name of the experience. |
| description | string | The full description of the experience and what guests will do. |
| category | string | The activity category of the experience. |
| status | string | The current status of the experience on the platform. |
| location | object | |
| duration_minutes | integer | The duration of the experience in minutes. |
| max_guests | integer | The maximum number of guests per session. |
| pricing | object | |
| languages | array | The languages in which the experience is offered. |
| what_to_bring | array | Items guests should bring to the experience. |
| accessibility | string | Accessibility information for the experience. |
| photos | array | Photos showcasing the experience. |
| host | object | |
| created_at | string | The timestamp when the experience was created. |
| updated_at | string | The timestamp when the experience was last updated. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/airbnb/refs/heads/main/json-schema/airbnb-experience-schema.json",
"title": "Experience",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the experience."
},
"name": {
"type": "string",
"description": "The display name of the experience."
},
"description": {
"type": "string",
"description": "The full description of the experience and what guests will do."
},
"category": {
"type": "string",
"description": "The activity category of the experience.",
"enum": [
"arts_and_culture",
"entertainment",
"food_and_drink",
"nature_and_outdoors",
"sports",
"tours",
"wellness"
]
},
"status": {
"type": "string",
"description": "The current status of the experience on the platform.",
"enum": [
"active",
"inactive",
"pending",
"suspended"
]
},
"location": {
"$ref": "#/components/schemas/ExperienceLocation"
},
"duration_minutes": {
"type": "integer",
"description": "The duration of the experience in minutes.",
"minimum": 30
},
"max_guests": {
"type": "integer",
"description": "The maximum number of guests per session.",
"minimum": 1
},
"pricing": {
"$ref": "#/components/schemas/ExperiencePricing"
},
"languages": {
"type": "array",
"description": "The languages in which the experience is offered.",
"items": {
"type": "string"
}
},
"what_to_bring": {
"type": "array",
"description": "Items guests should bring to the experience.",
"items": {
"type": "string"
}
},
"accessibility": {
"type": "string",
"description": "Accessibility information for the experience."
},
"photos": {
"type": "array",
"description": "Photos showcasing the experience.",
"items": {
"$ref": "#/components/schemas/ExperiencePhoto"
}
},
"host": {
"$ref": "#/components/schemas/ExperienceHost"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The timestamp when the experience was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The timestamp when the experience was last updated."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/airbnb-experience"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.