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

# Property Search

> Search and paginate through properties across states, counties, or cities. The "state" field is required. For best performance and lowest latency, include "state", "county", and "address" — ZIP codes and city names vary across data sources. By default, broad searches exclude parcels without assigned addresses; set "includeUnassignedAddress=true" to include them. **Pagination:** use the "cursor" parameter for efficient pagination at any depth — see the [Pagination guide](/api-reference/pagination) for full details. The legacy "offset" parameter still works but is deprecated.



## OpenAPI

````yaml /api-reference/openapi.json get /public/property/search/
openapi: 3.1.0
info:
  title: Property Data API
  description: API for looking up property details by address and unit number.
  version: 1.0.0
servers:
  - url: https://app.realie.ai/api
security: []
paths:
  /public/property/search/:
    get:
      tags:
        - Property
      summary: Property Search
      description: >-
        Search and paginate through properties across states, counties, or
        cities. The "state" field is required. For best performance and lowest
        latency, include "state", "county", and "address" — ZIP codes and city
        names vary across data sources. By default, broad searches exclude
        parcels without assigned addresses; set "includeUnassignedAddress=true"
        to include them. **Pagination:** use the "cursor" parameter for
        efficient pagination at any depth — see the [Pagination
        guide](/api-reference/pagination) for full details. The legacy "offset"
        parameter still works but is deprecated.
      operationId: propertySearch
      parameters:
        - name: state
          in: query
          required: true
          schema:
            type: string
          description: Two-letter state (required field) (e.g., "CA")
          example: DC
        - name: zipCode
          in: query
          required: false
          schema:
            type: string
          description: ZIP code of the property (optional field).
          example: '20009'
        - name: county
          in: query
          required: false
          schema:
            type: string
          description: County where the property is located (optional field).
          example: MONTEREY
        - name: city
          in: query
          required: false
          schema:
            type: string
          description: City where the property is located (optional field).
          example: CARMEL
        - name: transferedSince
          in: query
          required: false
          schema:
            type: string
          description: Days to look back for transfers (e.g., "30") (optional field).
        - name: useCode
          in: query
          required: false
          schema:
            type: integer
          description: Numerical use code (e.g., 1002, 1001) (optional field).
        - name: address
          in: query
          required: false
          schema:
            type: string
          description: >-
            The street address line 1 only (e.g. “123 Main Street”). Do not
            include city, state, or ZIP in this field. (optional field)
          example: 2022 R ST NW
        - name: unitNumberStripped
          in: query
          required: false
          schema:
            type: string
          description: >-
            The unit number of the property (optional field). Do not include the
            type of unit. (e.g. “APT 2B” would just be “2B”)
        - name: includeUnassignedAddress
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: >-
            If true, include parcels that do not yet have an assigned address.
            By default, broad searches exclude null or blank addresses.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
          description: Maximum number of results to return. Defaults to 10, maximum is 100.
          example: 10
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: >-
            Opaque pagination token. Pass the value from a previous response's
            "metadata.nextCursor" to retrieve the next page. Omit on the first
            request. Constant-time per page regardless of pagination depth —
            preferred over "offset" for paginating through more than a few
            hundred results.
        - name: offset
          in: query
          required: false
          deprecated: true
          schema:
            type: integer
            minimum: 0
            default: 0
          description: >-
            **Deprecated.** Number of records to skip. Defaults to 0. Use
            "cursor" instead — "offset" does not scale beyond a few thousand
            records and may produce timeout errors on deep pagination. Responses
            that include the "offset" parameter will return a "Deprecation:
            true" header along with a "metadata.deprecationNotice" field.
          example: 0
        - name: residential
          in: query
          required: false
          schema:
            type: boolean
          description: >-
            If true, only residential properties; if false, only non-residential
            (optional field).
      responses:
        '200':
          description: Properties found successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  properties:
                    type: array
                    description: Array of property features found.
                    items:
                      type: object
                  metadata:
                    type: object
                    properties:
                      limit:
                        type: integer
                        description: Limit applied
                      count:
                        type: integer
                        description: Number of records returned in this page
                      nextCursor:
                        type:
                          - string
                          - 'null'
                        description: >-
                          Cursor pagination only. Pass this value as "cursor" on
                          the next request to retrieve the next page. Null when
                          there are no more results.
                      offset:
                        type: integer
                        deprecated: true
                        description: >-
                          Offset pagination only (deprecated). Echoes the offset
                          value used for this request.
                      deprecationNotice:
                        type: string
                        description: >-
                          Present only when a deprecated parameter (e.g.,
                          "offset") was used. Human-readable migration message.
        '400':
          description: Bad Request - Missing or invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Description of the error that occurred.
                    example: Please include state.
        '401':
          description: Unauthorized - Missing or invalid API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Description of the error that occurred.
                    example: 'Unauthorized: API key is missing'
        '403':
          description: Forbidden - Usage limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Description of the error that occurred.
                    example: 'Forbidden: Usage limit exceeded'
        '404':
          description: Not Found - No properties found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Description of the error that occurred.
                    example: No properties found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Description of the error that occurred.
                    example: Internal Server Error
      security:
        - apiKeyAuth: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      name: Authorization
      in: header
      description: Provide your API key directly in the header.

````