Discover/morty API
live

morty APImorty.app

Access escape room experiences from morty.app: difficulty, group size, pricing, tags, and today/tomorrow time slot availability by location.

This API takes change requests — .
Endpoint health
verified 4h ago
get_experiences
1/1 passing latest checkself-healing
Endpoints
1
Updated
4h ago

What is the morty API?

The morty.app API exposes 1 endpoint — get_experiences — that returns all active escape room experiences at a given location, including up to 15+ response fields covering difficulty ratings, group size ranges, price ranges, experience tags, ratings, and real-time availability slots for today and tomorrow. Passing a company_slug and location_slug derived from any morty.app URL is all that's needed to retrieve a full experience catalog for that venue.

This call costs5 credits / call— charged only on success
Try it
Company slug from the morty.app URL path (e.g. 'the-great-escape-room' from /location/the-great-escape-room/...).
Location slug from the morty.app URL path (e.g. 'the-great-escape-room-providence-awga').
api.parse.bot/scraper/dc6b06b6-a75c-4c77-808b-7696a9969612/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/dc6b06b6-a75c-4c77-808b-7696a9969612/get_experiences?company_slug=the-great-escape-room&location_slug=the-great-escape-room-providence-awga' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace morty-app-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Morty escape room API — fetch experiences and availability."""
from parse_apis.morty_app_api import MortyApp, NotFoundError

client = MortyApp()

# Fetch a location's experiences by company and location slugs.
try:
    location = client.locations.get(
        company_slug="the-great-escape-room",
        location_slug="the-great-escape-room-providence-awga",
    )
except NotFoundError as e:
    print(f"Location not found: {e}")
    raise
print(f"Location: {location.name}")

# Browse each experience's details and today's open slots.
for exp in location.experiences:
    print(f"\n{exp.name} ({exp.difficulty}, {exp.duration_minutes} min)")
    print(f"  Players: {exp.players_min}-{exp.players_max} | Rating: {exp.rating}")
    print(f"  Tags: {', '.join(exp.tags)}")

    open_slots = [s for s in exp.today_slots if s.available]
    print(f"  Today: {len(open_slots)} open slot(s)")
    for slot in open_slots[:3]:
        print(f"    {slot.datetime}")

print("\nexercised: locations.get / Experience fields / TimeSlot availability")
All endpoints · 1 totalmissing one? ·

Returns all active escape room experiences at a given location with their details (name, difficulty, group size range, price range, tags) and available time slots for today and tomorrow. Each experience includes full availability data showing which time slots are open or taken. Makes one request to resolve the location, one to fetch all games, and one per game for availability (typically 2-5 games per location).

Input
ParamTypeDescription
company_slugstringCompany slug from the morty.app URL path (e.g. 'the-great-escape-room' from /location/the-great-escape-room/...).
location_slugstringLocation slug from the morty.app URL path (e.g. 'the-great-escape-room-providence-awga').
Response
{
  "type": "object",
  "fields": {
    "experiences": "array of experience objects with name, difficulty, group size, pricing, ratings, tags, and time slots for today and tomorrow",
    "location_name": "string — display name of the escape room location",
    "location_slug": "string — URL slug identifier for the location"
  },
  "sample": {
    "data": {
      "experiences": [
        {
          "id": "42671",
          "name": "Mountain Top Murders",
          "slug": "mountain-top-murders-nle9",
          "tags": [
            "Spooky"
          ],
          "rating": "Very Positive",
          "category": "Escape room",
          "price_max": 999,
          "price_min": 1,
          "difficulty": "Unknown",
          "players_max": 8,
          "players_min": 2,
          "today_slots": [
            {
              "datetime": "2026-08-22T16:30:00-04:00",
              "available": true
            },
            {
              "datetime": "2026-08-22T18:00:00-04:00",
              "available": true
            }
          ],
          "tomorrow_slots": [
            {
              "datetime": "2026-08-23T12:00:00-04:00",
              "available": true
            },
            {
              "datetime": "2026-08-23T13:30:00-04:00",
              "available": true
            }
          ],
          "duration_minutes": 60
        }
      ],
      "location_name": "The Great Escape Room - Providence",
      "location_slug": "the-great-escape-room-providence-awga"
    },
    "status": "success"
  }
}

About the morty API

What the API Returns

The get_experiences endpoint returns an array of escape room experience objects alongside the location's display name and URL slug. Each experience object includes fields for name, difficulty, group size (min and max), price range, ratings, and tags — giving you the core metadata needed to evaluate and compare rooms at a given venue.

Availability Data

Beyond static metadata, each experience includes time slot availability for today and tomorrow. Slots are marked as open or taken, allowing applications to surface real-time booking windows without hitting the morty.app booking flow directly. This is the most time-sensitive data the endpoint provides and reflects current occupancy at the time of the request.

Inputs and Scope

Both inputs — company_slug and location_slug — are optional strings derived directly from the morty.app URL path. For example, the URL /location/the-great-escape-room/the-great-escape-room-providence-awga yields the-great-escape-room as the company slug and the-great-escape-room-providence-awga as the location slug. The API covers one location per call; there is no bulk or search endpoint in the current spec.

Reliability & maintenanceVerified

The morty API is a managed, monitored endpoint for morty.app — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when morty.app changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official morty.app API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4h ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Display today and tomorrow's open booking slots for a specific escape room venue in a travel or activities app
  • Compare difficulty ratings and group size ranges across multiple escape room locations for team event planning
  • Aggregate price range data across morty.app venues for market research on escape room pricing
  • Build a local entertainment guide that surfaces escape rooms with open slots and tags relevant to group preferences
  • Monitor real-time availability changes at a target venue to alert users when a previously full slot opens
  • Filter experiences by tag and difficulty to recommend rooms suited to first-timers versus experienced players
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does morty.app have an official developer API?+
morty.app does not publish an official public developer API or documented integration endpoints for third-party use.
What does the get_experiences endpoint return beyond basic room info?+
In addition to static fields like name, difficulty, group size range, price range, and tags, each experience object includes time slot data for today and tomorrow showing which slots are open or taken. The location_name and location_slug are also returned at the top level of the response.
Does the API cover multiple locations in a single call or support searching across all venues on morty.app?+
The current API covers one location per call, identified by a company_slug and location_slug pair. There is no search or multi-location bulk endpoint. You can fork this API on Parse and revise it to add a search or batch endpoint covering multiple locations.
Does the API return historical booking data or availability beyond tomorrow?+
The API returns availability for today and tomorrow only. Historical occupancy data and availability windows further than two days out are not currently covered. You can fork it on Parse and revise to extend the date range if the source exposes it.
How specific is the difficulty and pricing data returned?+
Difficulty is returned as a named or numeric rating per experience. Pricing is returned as a range (min/max or equivalent), not as a per-slot or per-person breakdown. Granular per-booking-slot pricing is not currently exposed by the endpoint.
Page content last updated . Spec covers 1 endpoint from morty.app.
Related APIs in EntertainmentSee all →
pinballmap.com API
Access data from pinballmap.com.
raceplanet.nl API
Browse and book thrilling racing experiences at Circuit Zandvoort by checking available cars, pricing, and open dates that fit your schedule. Find the perfect track day or driving experience that matches your budget and preferred time slot.
getyourguide.com API
Search and browse tours, activities, and experiences on GetYourGuide. Retrieve activity details, reviews, pricing, booking availability, and location autocomplete suggestions.
shoreexcursionsgroup.com API
Search and browse shore excursions from ports worldwide, comparing pricing, features, highlights, and customer reviews all in one place. Find the perfect activity for your cruise stop by filtering destinations and ports, then dive into detailed excursion information to plan your next adventure.
culturetrip.com API
Discover travel inspiration and plan your next adventure by browsing curated travel articles, destination guides, and bookable trips organized by region and city. Search for specific destinations, compare trip dates and prices, and explore popular cities to find the perfect getaway.
exploretock.com API
Search for restaurants and dining experiences on Tock, then view detailed venue information, menus, and real-time availability including specific dates, time slots, and prix-fixe pricing to book your reservation. Get comprehensive restaurant details with all offerings to help you find and reserve your perfect dining experience.
timeout.com API
Discover restaurants, events, attractions, and city guides across multiple locations with the Time Out API. Search for things to do, browse upcoming events and movies, explore new restaurant openings, find hotels, and access curated content like Time Out Market recommendations and cultural listings.
feverup.com API
Discover and search live events, exhibitions, and experiences happening in cities worldwide, filtering by categories to find concerts, shows, expos, and more that match your interests. Get detailed information about any event including schedules, descriptions, and venue details to plan your next outing.