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

# Get Report

> Retrieve a single North Report by ID or by property address.

<Info>
  **Search by Address** — You can look up a report without knowing the ID by passing `?address=` as a query parameter. The address lookup takes priority over the path ID, so you can use any placeholder (e.g. `search`) in the URL.

  ```
  GET /v1/reports/search?address=123 Main St
  ```

  Address matching is **partial and case-insensitive** and handles common abbreviations automatically (e.g. `St` = `Street`, `Ave` = `Avenue`, `APT` = `Unit`).
</Info>


## OpenAPI

````yaml GET /v1/reports/{reportId}
openapi: 3.1.0
info:
  title: North Reports API
  description: >
    The North Reports API allows you to programmatically access and manage your
    North reports.


    Use this API to:

    - Create and update property reports

    - Manage comparable properties

    - Track showings and open houses

    - Import social media engagement data

    - Generate AI-powered summaries


    Perfect for integrations with Zapier, n8n, Make.com, or custom applications.
  version: 1.0.1
  contact:
    name: North Support
    url: https://northreports.com/support
  termsOfService: https://northreports.com/terms
servers:
  - url: https://api.northreports.com
    description: Production API
security:
  - BearerAuth: []
tags:
  - name: Users
    description: User and team information
  - name: Reports
    description: Create and manage North reports
  - name: Comparables
    description: Manage comparable properties
  - name: Showings
    description: Track showings and open houses
  - name: Social Media
    description: Import and track social media engagement
  - name: Webhooks
    description: Subscribe to real-time events
paths:
  /v1/reports/{reportId}:
    get:
      tags:
        - Reports
      summary: Get a specific report
      description: >
        Retrieves a single report with all its details including comparables,
        showings, and social media posts.

        You can search by UUID using the path parameter, or by address using the
        address query parameter.

        If address is provided, it will override the reportId and search by
        address instead.
      operationId: getReport
      parameters:
        - name: reportId
          in: path
          required: true
          description: >
            The report UUID. If searching by address, you can use any
            placeholder value (e.g., "search" or "by-address").

            The address query parameter will override this value.
          schema:
            type: string
        - name: address
          in: query
          required: false
          description: |
            Search for a report by address instead of using reportId.
            If provided, this will override the reportId path parameter.
            Supports partial matching (case-insensitive).
            Example: "123 Main St" or "Main Street"
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved report
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ReportFull'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
components:
  schemas:
    ReportFull:
      allOf:
        - $ref: '#/components/schemas/ReportSummary'
        - type: object
          properties:
            description:
              type: string
              nullable: true
            lot_size:
              type: number
              nullable: true
            zillow_url:
              type: string
              nullable: true
            zpid:
              type: string
              nullable: true
            mls_id:
              type: string
              nullable: true
            listing_agent:
              type: string
              nullable: true
            created_by:
              type: string
              nullable: true
            executive_summary:
              type: string
              nullable: true
            show_comps_on_report:
              type: boolean
            show_neighborhood_on_report:
              type: boolean
            show_social_on_report:
              type: boolean
            show_showings_on_report:
              type: boolean
            show_agent_insights_on_report:
              type: boolean
            comparable_properties:
              type: array
              items:
                type: object
            showing_events:
              type: array
              items:
                type: object
            social_media_posts:
              type: array
              items:
                type: object
            agent_insights:
              type: array
              items:
                type: object
    ReportSummary:
      type: object
      properties:
        id:
          type: string
          format: uuid
        address:
          type: string
        city:
          type: string
        state:
          type: string
        zip:
          type: string
        price:
          type: number
        beds:
          type: integer
        baths:
          type: number
        sqft:
          type: integer
        year_built:
          type: integer
        property_type:
          type: string
        status:
          type: string
        is_published:
          type: boolean
        is_draft:
          type: boolean
        published_at:
          type: string
          format: date-time
          nullable: true
        views_count:
          type: integer
        saves_count:
          type: integer
        showings_count:
          type: integer
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            status:
              type: integer
  responses:
    Unauthorized:
      description: Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              message: Invalid API key
              status: 401
    Forbidden:
      description: API key lacks required permission
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              message: 'Permission denied: reports:create'
              status: 403
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              message: Report not found
              status: 404
    RateLimitExceeded:
      description: Too many requests
      headers:
        X-RateLimit-Limit:
          schema:
            type: integer
          description: Request limit per hour
        X-RateLimit-Remaining:
          schema:
            type: integer
          description: Remaining requests in current window
        X-RateLimit-Reset:
          schema:
            type: integer
          description: Unix timestamp when the rate limit resets
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              message: Rate limit exceeded. Please try again later.
              status: 429
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >
        API key authentication. Include your API key in the Authorization
        header:

        ```

        Authorization: Bearer north_sk_live_xxxxxxxxxxxx

        ```

````