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

# Get Location Detailed Performance Metrics



## OpenAPI

````yaml https://dev-api.cattix.com/openapi.json get /api/v1/local-seo/locations/{location_id}/analytics/performance/detailed
openapi: 3.1.0
info:
  title: CATTIX API
  description: CATTIX Backend API
  version: 0.107.0
servers:
  - url: http://localhost:8000
    description: Local
  - url: https://dev-api.cattix.com
    description: Development
  - url: https://staging-api.cattix.com
    description: Staging
  - url: https://api.cattix.com
    description: Production
security: []
paths:
  /api/v1/local-seo/locations/{location_id}/analytics/performance/detailed:
    get:
      tags:
        - Location Analytics
      summary: Get Location Detailed Performance Metrics
      operationId: >-
        get_location_detailed_performance_metrics_api_v1_local_seo_locations__location_id__analytics_performance_detailed_get
      parameters:
        - name: location_id
          in: path
          required: true
          schema:
            type: string
            title: Location Id
        - name: current_from_year
          in: query
          required: true
          schema:
            type: integer
            maximum: 2100
            minimum: 2000
            title: Current From Year
        - name: current_from_month
          in: query
          required: true
          schema:
            type: integer
            maximum: 12
            minimum: 1
            title: Current From Month
        - name: current_to_year
          in: query
          required: true
          schema:
            type: integer
            maximum: 2100
            minimum: 2000
            title: Current To Year
        - name: current_to_month
          in: query
          required: true
          schema:
            type: integer
            maximum: 12
            minimum: 1
            title: Current To Month
        - name: compared_from_year
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 2100
                minimum: 2000
              - type: 'null'
            title: Compared From Year
        - name: compared_from_month
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 12
                minimum: 1
              - type: 'null'
            title: Compared From Month
        - name: compared_to_year
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 2100
                minimum: 2000
              - type: 'null'
            title: Compared To Year
        - name: compared_to_month
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 12
                minimum: 1
              - type: 'null'
            title: Compared To Month
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailedPerformanceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - OAuth2PasswordBearer: []
components:
  schemas:
    DetailedPerformanceResponse:
      properties:
        views:
          $ref: '#/components/schemas/ViewsMetricStats'
          description: Total Views with platform breakdown
        search_keywords:
          items:
            $ref: '#/components/schemas/SearchKeywordSchema'
          type: array
          title: Search Keywords
          description: Top search terms that triggered profile listing
        phone_calls:
          $ref: '#/components/schemas/MetricComparisonStats'
          description: Phone calls metric with time-series
        direction_requests:
          $ref: '#/components/schemas/MetricComparisonStats'
          description: Direction requests metric with time-series
        website_clicks:
          $ref: '#/components/schemas/MetricComparisonStats'
          description: Website clicks metric with time-series
        bookings:
          $ref: '#/components/schemas/MetricComparisonStats'
          description: Bookings metric with time-series
      type: object
      required:
        - views
        - phone_calls
        - direction_requests
        - website_clicks
        - bookings
      title: DetailedPerformanceResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ViewsMetricStats:
      properties:
        current:
          $ref: '#/components/schemas/MetricPeriodData'
          description: Current period Total Views data
        comparison:
          anyOf:
            - $ref: '#/components/schemas/MetricPeriodData'
            - type: 'null'
          description: Comparison period Total Views data
        growth_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Growth Pct
          description: Growth percentage for Total Views
        platform_breakdown:
          $ref: '#/components/schemas/ViewsBreakdown'
          description: Breakdown by platform (current period only, for Donut chart)
      type: object
      required:
        - current
        - platform_breakdown
      title: ViewsMetricStats
    SearchKeywordSchema:
      properties:
        term:
          type: string
          title: Term
        value:
          anyOf:
            - type: integer
            - type: 'null'
          title: Value
          description: Exact impressions count
        threshold:
          anyOf:
            - type: integer
            - type: 'null'
          title: Threshold
          description: Threshold value when exact count unavailable (e.g., 15 means '<15')
      type: object
      required:
        - term
      title: SearchKeywordSchema
    MetricComparisonStats:
      properties:
        current:
          $ref: '#/components/schemas/MetricPeriodData'
          description: Current period data
        comparison:
          anyOf:
            - $ref: '#/components/schemas/MetricPeriodData'
            - type: 'null'
          description: Comparison period data (if available)
        growth_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Growth Pct
          description: 'Growth percentage: ((current - comparison) / comparison) * 100'
      type: object
      required:
        - current
      title: MetricComparisonStats
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    MetricPeriodData:
      properties:
        total_value:
          type: integer
          title: Total Value
          description: Total sum for the period
        series:
          items:
            $ref: '#/components/schemas/DailyMetric'
          type: array
          title: Series
          description: Daily time-series data
      type: object
      required:
        - total_value
        - series
      title: MetricPeriodData
    ViewsBreakdown:
      properties:
        maps_desktop:
          type: integer
          title: Maps Desktop
          description: Google Maps Desktop impressions
        maps_mobile:
          type: integer
          title: Maps Mobile
          description: Google Maps Mobile impressions
        search_desktop:
          type: integer
          title: Search Desktop
          description: Google Search Desktop impressions
        search_mobile:
          type: integer
          title: Search Mobile
          description: Google Search Mobile impressions
      type: object
      required:
        - maps_desktop
        - maps_mobile
        - search_desktop
        - search_mobile
      title: ViewsBreakdown
    DailyMetric:
      properties:
        metric_date:
          type: string
          format: date
          title: Metric Date
          description: Date of the metric
        value:
          type: integer
          title: Value
          description: Metric value for this date
      type: object
      required:
        - metric_date
        - value
      title: DailyMetric
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: api/v1/users/authorization/token

````