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

# List public venues

> Returns published venues with optional filters (category, listingKind, city, state, bounds, cursor, limit). Public endpoint.



## OpenAPI

````yaml GET /public/venues
openapi: 3.0.0
info:
  title: PLEC API
  description: PLEC backend API reference
  version: '1.0'
  contact: {}
servers:
  - url: https://api.plec-it.com
    description: Production
  - url: https://api-staging.plec-it.com
    description: Staging
  - url: http://localhost:3000
    description: Local Development
security: []
tags: []
paths:
  /public/venues:
    get:
      tags:
        - Listings
      summary: List public venues
      description: >-
        Returns published venues with optional filters (category, listingKind,
        city, state, bounds, cursor, limit). Public endpoint.
      operationId: PublicListingsController_getPublishedListings
      parameters:
        - name: category
          required: true
          in: query
          description: Filter by category
          schema:
            type: string
        - name: listingKind
          required: true
          in: query
          description: Filter by kind (venue, service)
          schema:
            type: string
        - name: city
          required: true
          in: query
          description: Filter by city
          schema:
            type: string
        - name: state
          required: true
          in: query
          description: Filter by state
          schema:
            type: string
        - name: limit
          required: true
          in: query
          description: Max items (default 50, max 100)
          schema:
            example: '20'
            type: string
        - name: cursor
          required: true
          in: query
          description: Pagination cursor
          schema:
            type: string
        - name: listingId
          required: true
          in: query
          description: Fetch single listing by ID
          schema:
            type: string
        - name: boundsNeLat
          required: true
          in: query
          schema:
            type: string
        - name: boundsNeLng
          required: true
          in: query
          schema:
            type: string
        - name: boundsSwLat
          required: true
          in: query
          schema:
            type: string
        - name: boundsSwLng
          required: true
          in: query
          schema:
            type: string
      responses:
        '400':
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
components:
  schemas:
    ApiErrorResponseDto:
      type: object
      properties:
        message:
          type: string
          description: Human-readable error message
          example: Validation failed
        code:
          type: string
          description: Machine-readable error code
          example: BAD_REQUEST
        details:
          type: object
          description: Additional validation or context details
          example:
            - date must be a valid ISO 8601 date
      required:
        - message

````