list_areas

Parks, islands and regions shared by several spots.

GET/v1/guides/{productId}/areas
MCP tool list_areasScope: readBetaSince 2026-09-30
Markdown

Each area with its rules, fees, season, links and status, plus the spotKeys that point at it (update_spot areaId).

curl "https://sceniq.earth/api/v1/guides/j5738kd1q9x2m7v4c6b8n0p3r5t1w9y2/areas" \
  -H "Authorization: Bearer $SCENIQ_API_KEY"

Path parameters

Returns

200 OK with this object.

  • productIdstring · guide idrequired

    The guide's id.

  • areasarray of AreaWithSpotsrequired

    Every area of the guide.

    Show 11 fieldsof AreaWithSpots
    • idstringrequired

      The area's id.

    • namestringrequired

      The area's name.

    • kindstringoptional

      park, reserve, island, region, city or other.

      parkreserveislandregioncityother
    • notestringoptional

      What applies across the area.

    • seasonstringoptional

      The area's season in words.

    • rulesarray of AccessRuleoptional

      Access rules for the whole area.

      Show 6 fieldsof AccessRule
      • textstringrequired

        The rule in the creator's words, at most 300 characters.

      • kindstringoptional

        reservation, permit, guide, registration, no_independent_travel, vehicle or other.

        reservationpermitguideregistrationno_independent_travelvehicleother
      • monthsarray of numbersoptional

        The months the rule applies (1 to 12); the apps show it only then. Absent means all year.

      • appliesTostringoptional

        car for a rule that only binds drivers (a timed entry for vehicles), all for everyone.

        carall
      • bookingOpensstringoptional

        When booking opens, in words, at most 100 characters (90 days ahead at 07:00).

      • sourceUrlstringoptional

        The page that states the rule (http or https).

    • feesarray of Feeoptional

      Fees for the whole area.

      Show 14 fieldsof Fee
      • labelstringrequired

        What the fee is for, at most 80 characters (Adult entry, Car park, Boat transfer).

      • amountnumberoptional

        The price in major units (40, 12.5). Needs currency. Absent when the fee is free or left to the official page.

      • currencystringoptional

        ISO 4217 code (USD, EUR, ARS). Required with amount.

      • freebooleanoptional

        true for no charge. Cannot be combined with an amount.

      • seeOfficialbooleanoptional

        true for a price the guide leaves to the official page on purpose (it changes too often to copy).

      • perstringoptional

        What one amount pays for: person, vehicle, night, group, entry, day or hour.

        personvehiclenightgroupentrydayhour
      • audiencestringoptional

        Who pays this rate: all, adult, child, foreign, domestic, resident, student or senior.

        alladultchildforeigndomesticresidentstudentsenior
      • paidWherestringoptional

        Where it is paid: online, on_site or in_tour (part of a tour price).

        onlineon_sitein_tour
      • paymentstringoptional

        How it can be paid: cash_only, card_only or cash_or_card.

        cash_onlycard_onlycash_or_card
      • notestringoptional

        One line of context, at most 300 characters (free on the first Sunday of the month).

      • validFromstringoptional

        The first day the price applies (YYYY-MM-DD).

      • validUntilstringoptional

        The last day the price applies (YYYY-MM-DD). Readiness flags the row after it.

      • sourceUrlstringoptional

        The page the price comes from (http or https).

      • checkedOnstringoptional

        The day the value was last checked against its source (YYYY-MM-DD).

    • linksarray of GuideLinkoptional

      Links for the whole area.

      Show 5 fieldsof GuideLink
      • kindstringrequired

        What the link is for. official and website are the place's own pages; tickets and booking sell entry or rooms; status, timetable and tide carry live conditions; listing, social, authority and app cover the rest.

        officialwebsiteticketsbookingstatustimetabletidelistingsocialauthorityappother
      • labelstringoptional

        The link text buyers see, at most 60 characters. Without it the apps name the link by its kind.

      • urlstringoptional

        An http or https page. http is accepted with a warning.

      • valuestringoptional

        A channel that is not a URL, at most 200 characters, for example a WeChat mini program and its search term.

      • notestringoptional

        One line of context shown under the link, at most 300 characters.

    • statusStatusNoticeoptional

      A closure notice for the whole area.

      Show 6 fieldsof StatusNotice
      • statestringrequired

        open, partly_closed, closed or reopening. reopening with until means it reopens on that day.

        openpartly_closedclosedreopening
      • notestringoptional

        What is closed or changed, in the creator's words, at most 500 characters.

      • sincestringoptional

        The day the state began (YYYY-MM-DD).

      • untilstringoptional

        The day the state is expected to end (YYYY-MM-DD). Must not be before since.

      • sourceUrlstringoptional

        The page that announced it (http or https).

      • checkedOnstringoptional

        The day the value was last checked against its source (YYYY-MM-DD).

    • sourcesarray of SourceRefoptional

      Research evidence, never shown to buyers.

      Show 7 fieldsof SourceRef
      • urlstringoptional

        The page, API or archive copy the facts come from (http or https).

      • titlestringoptional

        A name for a source without a URL (a park leaflet, a phone call with the operator), at most 200 characters.

      • kindstringoptional

        page, api, archive, document or other.

        pageapiarchivedocumentother
      • capturedOnstringoptional

        The day the source was read (YYYY-MM-DD).

      • notestringoptional

        What the source says or why it was chosen, at most 500 characters.

      • supportsarray of stringsoptional

        Which facts it backs, up to 12 entries of at most 60 characters (fees, arrival.operating, lat/lon).

      • conflictbooleanoptional

        true when this source disagrees with another on the facts it backs. Say which one the value follows in note or reviewNotes.

    • spotKeysarray of stringsrequired

      The spots that point at the area (update_spot areaId).

Response 200
{
  "productId": "j5738kd1q9x2m7v4c6b8n0p3r5t1w9y2",
  "areas": [
    {
      "id": "area_01m3gvdap06m6mx2kp4t553d6g",
      "name": "Yellowstone National Park",
      "kind": "park",
      "note": "One entrance pass covers every spot in the Yellowstone chapter. Cell coverage is patchy between the geyser basins; download the guide before you drive in.",
      "season": "Most park roads are open to cars from May to early November.",
      "rules": [
        {
          "text": "Stay on boardwalks and marked trails in every thermal area.",
          "kind": "other",
          "sourceUrl": "https://www.nps.gov/yell/planyourvisit/safety.htm"
        }
      ],
      "fees": [
        {
          "label": "Park entrance, private vehicle, 7 days",
          "amount": 35,
          "currency": "USD",
          "per": "vehicle",
          "paidWhere": "online",
          "sourceUrl": "https://www.nps.gov/yell/planyourvisit/fees.htm",
          "checkedOn": "2026-09-20"
        }
      ],
      "links": [
        {
          "kind": "official",
          "url": "https://www.nps.gov/yell/index.htm",
          "label": "Yellowstone National Park (NPS)"
        },
        {
          "kind": "status",
          "url": "https://www.nps.gov/yell/planyourvisit/conditions.htm",
          "label": "Park road status"
        }
      ],
      "sources": [
        {
          "url": "https://www.nps.gov/yell/planyourvisit/fees.htm",
          "kind": "page",
          "capturedOn": "2026-09-20",
          "supports": [
            "fees"
          ]
        }
      ],
      "spotKeys": [
        "01M2Z1G0Y0QG7M2V6N9R3T5W8Y"
      ]
    },
    {
      "id": "area_01m3gvgcb04pf38p66vz544w1b",
      "name": "Yosemite National Park",
      "kind": "park",
      "season": "Open all year. Glacier Point Road and Tioga Road close to cars in winter.",
      "rules": [
        {
          "text": "Glacier Point Road and Tioga Road are closed to cars in winter, usually from November to late May.",
          "kind": "vehicle",
          "months": [
            11,
            12,
            1,
            2,
            3,
            4,
            5
          ],
          "appliesTo": "car",
          "sourceUrl": "https://www.nps.gov/yose/planyourvisit/conditions.htm"
        }
      ],
      "fees": [
        {
          "label": "Park entrance, private vehicle, 7 days",
          "amount": 35,
          "currency": "USD",
          "per": "vehicle",
          "sourceUrl": "https://www.nps.gov/yose/planyourvisit/fees.htm",
          "checkedOn": "2026-09-20"
        }
      ],
      "links": [
        {
          "kind": "official",
          "url": "https://www.nps.gov/yose/index.htm",
          "label": "Yosemite National Park (NPS)"
        },
        {
          "kind": "timetable",
          "url": "https://yarts.com/",
          "label": "YARTS buses into the valley"
        }
      ],
      "spotKeys": [
        "01M2Z1G0Y0R2K5P8S1V4X7Z0C3",
        "01M3H2AWH0F9PB64V7QB8QS0MC",
        "01M3H2AXG8GB8YNF4FCEFARFN5",
        "01M3H2AYFG8169CVH0JCQY2BN2"
      ]
    }
  ]
}

Errors

Every error is { error: { code, message } }. Act on the code.

  • 400invalid_argumentA required field is missing, a field is unknown, or a value does not match its type (the Convex validator's path and value are in the message).
  • 401unauthenticatedThe request carries no key. Send it as Authorization: Bearer sk_sceniq_... (or X-Api-Key).
  • 401invalid_api_keyThe key is unknown, revoked or expired.
  • 403forbiddenThe key belongs to a creator account that is no longer active.
  • 404not_foundThe id does not exist or belongs to another creator. The two answers are identical on purpose, so ids never reveal what exists.
  • 429rate_limitedOver a limit: requests per key per minute, per creator per hour, uploads per key per minute, or check_links per guide per hour.
  • 500internal_errorAn unexpected failure. The message is hidden on purpose.