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

# Get Company Analyst Insight

> Current ratings, comparable targets, market upside, and recent rating changes.

Requires paid access.



## OpenAPI

````yaml /openapi.json get /v1/companies/{company_id}/analyst-insight
openapi: 3.1.0
info:
  title: Rangler API
  version: 1.0.0
  description: >-
    Customer-facing Rangler API for companies, standardized financials, filings,
    funds, market data, events, and webhooks.
servers:
  - url: https://api.rangler.co
    description: Live
  - url: https://sandbox-api.rangler.co
    description: Sandbox
security: []
tags:
  - name: Analyst estimates
    description: Consensus forecasts, revisions, contributor accuracy, and source evidence.
  - name: Analyst recommendations
    description: Analyst ratings, target-price views, and company recommendation history.
  - name: Calendar
    description: Company events and calendar exports.
  - name: Companies
    description: >-
      Company lookup, issuer details, dividends, daily trades, meeting media,
      and mentions.
  - name: Events
    description: >-
      Read earlier events and check for missed deliveries across the market, a
      company, or a fund.
  - name: Financials
    description: >-
      Standardized financial statements, reported tables, ratios, and links to
      filing sources.
  - name: Filings
    description: Filings, board changes, insider dealings, and extracted filing mentions.
  - name: Funds
    description: Fund directories, disclosures, snapshots, holdings, and performance data.
  - name: Markets
    description: Market directories and regular-session clock data.
  - name: News
    description: Company news developments and company-filtered news search.
paths:
  /v1/companies/{company_id}/analyst-insight:
    get:
      tags:
        - Analyst recommendations
      summary: Get Company Analyst Insight
      description: >-
        Current ratings, comparable targets, market upside, and recent rating
        changes.


        Requires paid access.
      operationId: get_v1_companies_company_id_analyst-insight
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Company Id
        - name: as_of
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            title: As Of
        - name: max_age_days
          in: query
          required: false
          schema:
            type: integer
            maximum: 1095
            minimum: 1
            default: 100
            title: Max Age Days
        - name: min_confidence
          in: query
          required: false
          schema:
            type: number
            maximum: 1
            minimum: 0
            default: 0.6
            title: Min Confidence
        - name: change_lookback_days
          in: query
          required: false
          schema:
            type: integer
            maximum: 3650
            minimum: 1
            default: 730
            title: Change Lookback Days
        - name: change_limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 0
            default: 20
            title: Change Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyAnalystInsightRead'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                default:
                  value:
                    error:
                      type: unauthorized
                      code: unauthorized
                      message: Authentication required.
                      request_id: 28fa6152-7081-492e-8a7e-00beb237b689
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                default:
                  value:
                    error:
                      type: forbidden
                      code: forbidden
                      message: Paid access is required.
                      request_id: 5c253b3e-778e-4a58-aaf8-07cb21e03563
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                default:
                  value:
                    error:
                      type: not_found
                      code: not_found
                      message: Company not found
                      request_id: 9f5237bc-7d8c-4a9d-9c1f-fbd4ef236cf9
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                default:
                  value:
                    error:
                      type: validation_error
                      code: validation_error
                      message: Request validation failed
                      request_id: c5964dca-d290-4465-a3dc-f92d42aa9b17
                      details:
                        - type: missing
                          loc:
                            - query
                            - ticker
                          msg: Field required
                          input: null
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                default:
                  value:
                    error:
                      type: rate_limit_exceeded
                      code: rate_limit_exceeded
                      message: Rate limit exceeded
                      request_id: cc4d369a-2c69-4ee2-909e-985ea35d14a9
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                default:
                  value:
                    error:
                      type: internal_server_error
                      code: internal_server_error
                      message: Internal Server Error
                      request_id: 70b63aba-b8a3-41c2-bb0c-fbe67d84d37d
      security:
        - RanglerApiKey: []
components:
  schemas:
    CompanyAnalystInsightRead:
      properties:
        company_id:
          type: string
          format: uuid
          title: Company Id
        ticker:
          type: string
          title: Ticker
        as_of:
          type: string
          format: date
          title: As Of
        max_age_days:
          type: integer
          title: Max Age Days
        min_confidence:
          type: number
          title: Min Confidence
        latest_period_end:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Latest Period End
        latest_published_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Latest Published At
        consensus_score:
          anyOf:
            - type: number
            - type: 'null'
          title: Consensus Score
          description: >-
            Average of the latest eligible firm scores on the 1-5 consensus
            scale.
        consensus_recommendation:
          anyOf:
            - type: string
            - type: 'null'
          title: Consensus Recommendation
          description: >-
            Backend-derived strong_buy, buy, hold, sell, or strong_sell
            consensus label.
        ratings:
          $ref: '#/components/schemas/AnalystRatingDistributionRead'
        price_targets:
          $ref: '#/components/schemas/AnalystPriceTargetSummaryRead'
        recommendations:
          items:
            $ref: '#/components/schemas/AnalystRecommendationRead'
          type: array
          title: Recommendations
        recent_rating_changes:
          items:
            $ref: '#/components/schemas/AnalystRecommendationChangeRead'
          type: array
          title: Recent Rating Changes
      type: object
      required:
        - company_id
        - ticker
        - as_of
        - max_age_days
        - min_confidence
        - ratings
        - price_targets
        - recommendations
        - recent_rating_changes
      title: CompanyAnalystInsightRead
    ErrorEnvelope:
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/ErrorObject'
    AnalystRatingDistributionRead:
      properties:
        buy_count:
          type: integer
          title: Buy Count
        hold_count:
          type: integer
          title: Hold Count
        sell_count:
          type: integer
          title: Sell Count
        unrated_count:
          type: integer
          title: Unrated Count
        rated_count:
          type: integer
          title: Rated Count
        provider_count:
          type: integer
          title: Provider Count
        buy_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Buy Pct
        hold_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Hold Pct
        sell_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Sell Pct
        action_counts:
          additionalProperties:
            type: integer
          type: object
          title: Action Counts
      type: object
      required:
        - buy_count
        - hold_count
        - sell_count
        - unrated_count
        - rated_count
        - provider_count
        - action_counts
      title: AnalystRatingDistributionRead
      description: Current provider ratings collapsed into the three client-facing buckets.
    AnalystPriceTargetSummaryRead:
      properties:
        currency:
          anyOf:
            - type: string
            - type: 'null'
          title: Currency
        target_count:
          type: integer
          title: Target Count
        low:
          anyOf:
            - type: number
            - type: 'null'
          title: Low
        mean:
          anyOf:
            - type: number
            - type: 'null'
          title: Mean
        median:
          anyOf:
            - type: number
            - type: 'null'
          title: Median
        high:
          anyOf:
            - type: number
            - type: 'null'
          title: High
        last_updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Updated At
        current_price:
          anyOf:
            - type: number
            - type: 'null'
          title: Current Price
        current_price_currency:
          anyOf:
            - type: string
            - type: 'null'
          title: Current Price Currency
        current_price_as_of:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Current Price As Of
        implied_upside_low_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Implied Upside Low Pct
        implied_upside_mean_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Implied Upside Mean Pct
        implied_upside_median_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Implied Upside Median Pct
        implied_upside_high_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Implied Upside High Pct
        currency_mismatch_count:
          type: integer
          title: Currency Mismatch Count
          default: 0
        unknown_currency_count:
          type: integer
          title: Unknown Currency Count
          default: 0
        excluded_outlier_count:
          type: integer
          title: Excluded Outlier Count
          default: 0
      type: object
      required:
        - target_count
      title: AnalystPriceTargetSummaryRead
      description: Comparable target prices from each provider's latest recommendation.
    AnalystRecommendationRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        provider_key:
          type: string
          title: Provider Key
        provider_display_name:
          type: string
          title: Provider Display Name
        ticker:
          type: string
          title: Ticker
        raw_recommendation:
          type: string
          title: Raw Recommendation
        recommendation:
          type: string
          title: Recommendation
        period_start:
          type: string
          format: date
          title: Period Start
        period_end:
          type: string
          format: date
          title: Period End
        research_report_id:
          type: string
          format: uuid
          title: Research Report Id
        company_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Company Id
        sector:
          anyOf:
            - type: string
            - type: 'null'
          title: Sector
        company_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Name
        target_price:
          anyOf:
            - type: number
            - type: 'null'
          title: Target Price
        currency:
          anyOf:
            - type: string
            - type: 'null'
          title: Currency
        upside_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Upside Pct
        sentiment_score:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sentiment Score
          description: >-
            Normalized rating score: bullish=5, neutral=3, bearish=1; unrated
            calls are null.
        is_actionable:
          type: boolean
          title: Is Actionable
        source_title:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Title
        source_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Url
        source_excerpt:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Excerpt
        confidence:
          anyOf:
            - type: number
            - type: 'null'
          title: Confidence
        published_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Published At
      type: object
      required:
        - id
        - provider_key
        - provider_display_name
        - ticker
        - raw_recommendation
        - recommendation
        - period_start
        - period_end
        - research_report_id
        - is_actionable
      title: AnalystRecommendationRead
    AnalystRecommendationChangeRead:
      properties:
        provider_key:
          type: string
          title: Provider Key
        provider_display_name:
          type: string
          title: Provider Display Name
        direction:
          type: string
          enum:
            - upgrade
            - downgrade
          title: Direction
        previous_recommendation_id:
          type: string
          format: uuid
          title: Previous Recommendation Id
        previous_recommendation:
          type: string
          title: Previous Recommendation
        recommendation_id:
          type: string
          format: uuid
          title: Recommendation Id
        recommendation:
          type: string
          title: Recommendation
        previous_target_price:
          anyOf:
            - type: number
            - type: 'null'
          title: Previous Target Price
        target_price:
          anyOf:
            - type: number
            - type: 'null'
          title: Target Price
        currency:
          anyOf:
            - type: string
            - type: 'null'
          title: Currency
        changed_at:
          type: string
          format: date-time
          title: Changed At
      type: object
      required:
        - provider_key
        - provider_display_name
        - direction
        - previous_recommendation_id
        - previous_recommendation
        - recommendation_id
        - recommendation
        - changed_at
      title: AnalystRecommendationChangeRead
    ErrorObject:
      type: object
      required:
        - type
        - code
        - message
        - request_id
      properties:
        type:
          type: string
        code:
          type: string
        message:
          type: string
        request_id:
          type: string
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: array
              items:
                additionalProperties: true
                type: object
            - type: 'null'
  securitySchemes:
    RanglerApiKey:
      type: apiKey
      in: header
      name: X-API-Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.