> ## Documentation Index
> Fetch the complete documentation index at: https://docs-v2.campflare.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Campgrounds

> Search campgrounds

All search parameters are treated as "AND" conditions unless otherwise noted. This means the results will only include campgrounds that match all of the specified criteria simultaneously.
At least one parameter must be specified, otherwise 0 results will be returned.

```
POST /campgrounds/search
```

## Pagination

Use `limit` (1-50, default 20) and `offset` (default 0) to page through results. Every response includes `total`, the count of campgrounds matching the query before `limit` and `offset` are applied, so you can render the full page count:

```
pages = ceil(total / limit)
```


## OpenAPI

````yaml POST /campgrounds/search
openapi: 3.0.1
info:
  title: OpenAPI Plant Store
  description: >-
    A sample API that uses a plant store as an example to demonstrate features
    in the OpenAPI specification
  version: 1.0.0
servers:
  - url: https://api.campflare.com/v2
security: []
paths:
  /campgrounds/search:
    post:
      summary: Search campgrounds
      description: Search campgrounds
      requestBody:
        description: Search parameters for campgrounds
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: >-
                    Text search query. A general search term to find
                    campgrounds. This can be a name, location, keyword, etc.
                limit:
                  type: integer
                  description: >-
                    Maximum number of results to return from 1-50. Default is
                    20.
                offset:
                  type: integer
                  description: >-
                    Number of matching results to skip before returning. Default
                    is 0. Use together with `limit` to paginate. Pair with the
                    `total` field in the response to derive the page count.
                  minimum: 0
                amenities:
                  type: array
                  items:
                    type: string
                    enum:
                      - toilets
                      - trash
                      - camp-store
                      - dump-station
                      - wifi
                      - pets-allowed
                      - showers
                      - fires-allowed
                      - water
                      - eletric-hookups
                      - water-hookups
                      - sewer-hookups
                  description: >-
                    List of amenities to filter by. These are treated as AND
                    conditions.
                minimum_rv_length:
                  type: number
                minimum_trailer_length:
                  type: number
                big_rig_friendly:
                  type: boolean
                cell_service:
                  type: array
                  items:
                    type: string
                    enum:
                      - verizon
                      - att
                      - t-mobile
                status:
                  type: string
                  enum:
                    - open
                    - closed
                kind:
                  type: string
                  enum:
                    - established
                    - dispersed
                campsite_kinds:
                  type: array
                  items:
                    type: string
                    enum:
                      - standard
                      - rv
                      - tent-only
                      - cabin
                      - management
                      - group
                      - walk-to
                      - equestrian
                      - water-access
                  description: >-
                    List of campsite types to filter by. These are treated as OR
                    conditions. For example, if you select 'rv' and 'tent-only',
                    it will show campgrounds that have either RV sites OR
                    tent-only sites.
                bbox:
                  type: object
                  properties:
                    min_latitude:
                      type: number
                      description: Minimum latitude
                    max_latitude:
                      type: number
                      description: Maximum latitude
                    min_longitude:
                      type: number
                      description: Minimum longitude
                    max_longitude:
                      type: number
                      description: Maximum longitude
                  required:
                    - min_latitude
                    - max_latitude
                    - min_longitude
                    - max_longitude
                  description: >-
                    Boundary box in lat/lng format. This is used to limit the
                    search to a particular geographic region
                availability:
                  $ref: '#/components/schemas/AvailabilityFilter'
                  description: >-
                    Advanced filter for availability. This allows filtering for
                    campgrounds that have available campsites within certain
                    date ranges. For example, "show me campgrounds that have
                    available campsites for either of these two weekends". You
                    can also filter by campsite type and ensure minimum
                    RV/trailer lengths. Results will only include campgrounds
                    that have availability data (not all campgrounds do). Note
                    that the campsite filters here are scoped to available
                    campsites, not all campsites in the campground.
                v1_campground_id:
                  type: string
                  description: V1 campground ID
                land_id:
                  type: string
                  description: >-
                    Restrict results to campgrounds whose point falls inside the
                    geometry of the land with this ID. Can be combined with any
                    other filter. See the Lands Search endpoint for how to look
                    up land IDs.
      responses:
        '200':
          description: Search response
          content:
            application/json:
              schema:
                type: object
                required:
                  - campgrounds
                  - total
                properties:
                  campgrounds:
                    type: array
                    items:
                      $ref: '#/components/schemas/Campground'
                  total:
                    type: integer
                    description: >-
                      Total number of campgrounds matching the query across all
                      pages, before `limit` and `offset` are applied. Divide by
                      `limit` (rounded up) to get the page count.
                    minimum: 0
        '400':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    AvailabilityFilter:
      type: object
      required:
        - date_ranges
      properties:
        date_ranges:
          type: array
          description: >-
            List of date ranges. These are treated as an OR condition. For
            example, if there are two weekend date ranges, and only one is
            available, it will still resolve to true. 
          items:
            type: object
            properties:
              starting_date:
                type: string
                format: date
                description: The starting date of the range in YYYY-MM-DD format
              nights:
                type: integer
            required:
              - starting_date
              - nights
        status:
          type: array
          description: >-
            List of statuses to filter on. These are treated as an OR condition.
            Allows you to check for any combination of statuses. This defaults
            to ["available"]. However, it may be useful to filter on others,
            like ["available", "first-come-first-serve"].
          items:
            type: string
            enum:
              - available
              - reserved
              - closed
              - first-come-first-serve
              - not-yet-released
              - unknown
        campsite_kinds:
          type: array
          items:
            type: string
            enum:
              - standard
              - rv
              - tent-only
              - cabin
              - management
              - group
              - walk-to
              - equestrian
              - water-access
        min_rv_length:
          type: number
          description: Minimum RV length a campsite must have
        min_trailer_length:
          type: number
          description: Minimum Trailer length a campsite must have
    Campground:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the campground
        name:
          type: string
          description: Name of the campground
        status:
          type: string
          enum:
            - open
            - closed
          description: Current operating status of the campground
        status_description:
          type: string
          description: Detailed description of the current status
        kind:
          type: string
          enum:
            - established
            - dispersed
          description: Type of campground
        short_description:
          type: string
          description: Brief 1-2 sentence description suitable for a meta description
        medium_description:
          type: string
          description: Small paragraph introduction to the campground
        long_description:
          type: string
          description: Detailed 3-4 paragraph description of the campground
        location:
          type: object
          properties:
            latitude:
              type: number
              format: float
              description: Latitude coordinate of the campground
            longitude:
              type: number
              format: float
              description: Longitude coordinate of the campground
            elevation:
              type: integer
              description: Elevation in feet
            address:
              type: object
              properties:
                street1:
                  type: string
                  description: Primary street address
                street2:
                  type: string
                  description: Secondary street address
                city:
                  type: string
                  description: City name
                zipcode:
                  type: string
                  description: Postal code
                country:
                  type: string
                  description: Country name
                country_code:
                  type: string
                  description: Two-letter country code
                state:
                  type: string
                  description: State or province name
                state_code:
                  type: string
                  description: Two-letter state code
                full:
                  type: string
                  description: Complete formatted address
            directions:
              type: string
              description: Directions to reach the campground
        default_campsite_schedule:
          type: object
          description: >-
            Default check-in and check-out schedule for the campground, used as
            a fallback when campsite-specific schedules are unavailable or when
            `uniform` is true. For precise times, check `Campsite.schedule` if
            `uniform` is false.
          properties:
            check_in_time:
              type: string
              description: >-
                Check-in time of day in 24-hour HH:MM format (e.g., '15:00' for
                3:00 PM)
            check_out_time:
              type: string
              description: >-
                Check-out time of day in 24-hour HH:MM format (e.g., '11:00' for
                11:00 AM).
            uniform:
              type: boolean
              description: Whether check-in/out times are uniform across all campsites
        amenities:
          type: object
          properties:
            toilets:
              type: boolean
              description: Whether toilets are available
            toilet_kind:
              type: string
              enum:
                - flush
                - vault
                - null
              description: Type of toilets available
            trash:
              type: boolean
              description: Whether trash disposal is available
            camp_store:
              type: boolean
              description: Whether a camp store is available
            dump_station:
              type: boolean
              description: Whether a dump station is available
            wifi:
              type: boolean
              description: Whether WiFi is available
            pets_allowed:
              type: boolean
              description: Whether pets are allowed
            showers:
              type: boolean
              description: Whether showers are available
            fires_allowed:
              type: boolean
              description: Whether fires are permitted
            water:
              type: boolean
              description: Whether water is available
            electric_hookups:
              type: boolean
              description: Whether electrical hookups are available
            water_hookups:
              type: boolean
              description: Whether water hookups are available
            sewer_hookups:
              type: boolean
              description: Whether sewer hookups are available
        max_rv_length:
          type: number
          description: Maximum RV length in feet
        max_trailer_length:
          type: number
          description: Maximum trailer length in feet
        has_pull_through_sites:
          type: boolean
          description: Whether pull-through sites are available
        big_rig_friendly:
          type: boolean
          description: Whether the campground can accommodate large RVs
        reservation_url:
          type: string
          format: uri
          description: URL for making reservations
        links:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
                format: uri
                description: URL of the linked resource
              title:
                type: string
                description: Title of the linked resource
        photos:
          type: array
          items:
            type: object
            required:
              - original_url
              - attribution_needed
            properties:
              original_url:
                type: string
                format: uri
                description: >-
                  The full-resolution, unmodified image URL from the original
                  source website. This links to the external location where the
                  image was originally hosted or discovered.
              large_url:
                type: string
                format: uri
                description: >-
                  URL for the large-size photo hosted on Campflare's CDN.
                  1200x900px
              medium_url:
                type: string
                format: uri
                description: >-
                  URL for the medium-size photo hosted on Campflare's CDN.
                  800x600px.
              small_url:
                type: string
                format: uri
                description: >-
                  URL for the small-size photo hosted on Campflare's CDN.
                  400x300px.
              attribution:
                type: string
                description: Attribution for the photo
              attribution_needed:
                type: boolean
                description: Whether attribution is needed for the photo
              name:
                type: string
                description: Name of the photo
        alerts:
          type: array
          deprecated: true
          description: >-
            Gets relevant notices/alerts for the campground. Please use the
            `/campground/{id}/notices` endpoint instead. This field will
            continue to be populated.
          items:
            type: object
            properties:
              title:
                type: string
                description: Title of the alert
              content:
                type: string
                description: Content of the alert
              source_name:
                type: string
                description: Name of the alert source
              source_url:
                type: string
                format: uri
                description: URL of the alert source
              start_date:
                type: string
                format: date-time
                description: Start date of the alert period
              end_date:
                type: string
                format: date-time
                description: End date of the alert period
        price:
          type: object
          required:
            - minimum
            - maximum
            - currency_code
            - currency
          properties:
            minimum:
              type: number
              description: Minimum price
            maximum:
              type: number
              description: Maximum price
            currency_code:
              type: string
              description: Currency code for the price
            currency:
              type: string
              description: Currency name for the price
        cell_service:
          type: object
          properties:
            verizon:
              type: number
              minimum: 0
              maximum: 1
              description: Verizon signal strength from 0 to 1
            tmobile:
              type: number
              minimum: 0
              maximum: 1
              description: T-Mobile signal strength from 0 to 1
            att:
              type: number
              minimum: 0
              maximum: 1
              description: AT&T signal strength from 0 to 1
        management:
          type: object
          properties:
            agency_name:
              type: string
              description: Name of the managing agency
            agency_id:
              type: string
              description: ID of the managing agency
            agency_website:
              type: string
              format: uri
              description: Website of the managing agency
        contact:
          type: object
          properties:
            primary_phone:
              type: string
              description: Primary contact phone number
            primary_email:
              type: string
              format: email
              description: Primary contact email address
        connections:
          type: object
          properties:
            ridb_facility_id:
              type: string
              description: Recreation Information Database facility ID
            usfs_site_id:
              type: string
              description: USFS site ID
            v1_campground_ids:
              type: array
              items:
                type: string
              description: A list of v1 campground IDs associated with the campground
        metadata:
          type: object
          properties:
            has_availability_alerts:
              type: boolean
              description: Whether availability alerts are supported
            has_availability_data:
              type: boolean
              description: Whether availability data is available
            has_campsite_level_data:
              type: boolean
              description: Whether individual campsite data is available
            last_updated:
              type: string
              format: date-time
              description: Timestamp of the last data update
    Error:
      required:
        - error
        - message
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            kind:
              type: string

````