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

# Share of Voice

> An entity's share of press attention against a peer denominator over a window, with a plot-ready timeline. Plan-gated (can_use_share_of_voice; admins always).



## OpenAPI

````yaml /api-reference/openapi-v2.json get /api/v2/share-of-voice
openapi: 3.0.3
info:
  title: GDELT Cloud API v2
  version: 2.0.0
  description: >-
    Clean v2 REST API for generated GDELT Cloud structured Events, clustered
    Stories, linked Entities, summaries, admin1 discovery, significance ranking,
    and paginated article evidence.


    Event significance is a family-scoped weighted blend, renormalized so every
    event family spans a true 0-1: each event's raw total is divided by the
    maximum its own family can reach (Conflict 1.00, CAMEO+ POLITICAL 0.90,
    other CAMEO+ domains 0.65). All events: Goldstein severity 0.25, article
    evidence 0.05, confidence 0.05. Conflict only: fatalities 0.55 (log-scaled
    by body count) and civilian targeting 0.10. CAMEO+ only: magnitude 0.20,
    systemic importance 0.15, propagation potential 0.10, market sensitivity
    0.10. When magnitude is unmeasured its term AND its 0.20 weight are both
    dropped. The four CAMEO+ metrics are rubric scores produced by published
    formulas - ordinal ranking signals, not measurements, probabilities, or
    predicted price moves. goldstein_scale is one canonical public metric,
    populated for Conflict Events and CAMEO+ POLITICAL Events where meaningful.
    Story linked_event_count is a Story-to-Event link aggregate, not a distinct
    Event total.
servers:
  - url: https://gdeltcloud.com
    description: Production
  - url: http://localhost:3000
    description: Local development
security:
  - ApiKeyAuth: []
tags:
  - name: Events
    description: Coded CAMEO+ / conflict events — search, fetch, and summarize.
  - name: Stories
    description: Clustered narratives (stories) and their articles.
  - name: Entities
    description: >-
      People & organizations — resolve a name to an entity, then fetch its
      profile and tone.
  - name: Geography
    description: Admin-1 geography lookups.
  - name: Energy
    description: Global Energy Monitor assets + ownership registry.
  - name: Facilities
    description: >-
      Unified physical-asset directory — GEM energy assets + World Port Index
      ports + Epoch AI data centers on one keyed surface, resolved to spine
      owners. Plan-gated (Analyst plan and up).
  - name: Screening and Reference
    description: >-
      Restricted-party lists, screening, and ownership-chain exposure.
      Plan-gated (`can_use_screening` / `can_use_exposure`).
  - name: China
    description: >-
      China overseas development finance (AidData GCDF). Plan-gated
      (`can_use_china`).
  - name: Media Intelligence
    description: >-
      Entity tone (`can_use_tone`) and Share of Voice (`can_use_share_of_voice`)
      are plan-gated. Social signal remains an admin-only preview.
  - name: Filings
    description: >-
      SEC EDGAR filings, XBRL financials, and AI-extracted relations. Requires a
      plan with SEC filings access (`can_use_filings`) — the Corporate & Supply
      Chain plan and above.
  - name: Macro Finance
    description: >-
      FRED economic time series (catalog, point-in-time observations, releases).
      Plan-gated (`can_use_macro`).
  - name: Maritime
    description: >-
      AIS-derived vessel-flow signals across maritime chokepoints — chokepoint
      transits, last-known vessel positions, carriers, dwell, and AIS-dark gaps.
      Plan-gated (`can_use_maritime`).
  - name: Briefs
    description: Source-backed monitoring briefs.
paths:
  /api/v2/share-of-voice:
    get:
      tags:
        - Media Intelligence
      summary: Share of Voice
      description: >-
        An entity's share of press attention against a peer denominator over a
        window, with a plot-ready timeline. Plan-gated (can_use_share_of_voice;
        admins always).
      operationId: share-of-voice-v2
      parameters:
        - name: entity_id
          in: query
          required: false
          schema:
            type: string
          description: Canonical entity id / wikipedia_url.
        - name: entity_search
          in: query
          required: false
          schema:
            type: string
          description: Resolve by name.
        - name: category
          in: query
          required: false
          schema:
            type: string
          description: >-
            Denominator category (CAMEO+ domain/subcategory). Full list:
            [Taxonomy & Codes](/api-reference/taxonomy).
        - name: topic
          in: query
          required: false
          schema:
            type: string
          description: >-
            Primary free-text denominator — a literal story-label match that
            defines the media space the entity's share of voice is measured
            against. At least one denominator-defining filter (`topic`, `query`,
            `category`, `country`, `region`, `languages`, or `source_set`) is
            required, else the request returns 400 DENOMINATOR_REQUIRED.
        - name: query
          in: query
          required: false
          schema:
            type: string
          description: >-
            Semantic (embedding-based) denominator — an opt-in, slower
            alternative to `topic` that defines the media space by similarity
            rather than a literal label; sets denominator.search_mode = semantic
            in the response.
        - name: languages
          in: query
          required: false
          schema:
            type: string
            example: ar,zh,en
          description: >-
            Restrict the denominator (and numerator) to stories with coverage in
            these source languages — comma-separated ISO codes such as
            `ar,zh,en`; alias `language` accepted. Also usable as a
            denominator-defining filter on its own.
        - name: date_start
          in: query
          required: false
          schema:
            type: string
          description: Window start YYYY-MM-DD (≤30-day window).
        - name: date_end
          in: query
          required: false
          schema:
            type: string
          description: Window end YYYY-MM-DD.
        - name: days
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 30
          description: Trailing N-day window (1–30).
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 25
          description: Max rows.
      responses:
        '200':
          description: Share of Voice.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  start_date:
                    type: string
                  end_date:
                    type: string
                  entities:
                    type: array
                    items:
                      type: string
                  resolved_entities:
                    type: array
                    items:
                      type: object
                      properties:
                        input:
                          type: string
                        canonical_entity_id:
                          type: string
                        display_name:
                          type: string
                        entity_type:
                          type: string
                        wikipedia_url:
                          type: string
                        match_type:
                          type: string
                  unresolved_terms:
                    type: array
                    items: {}
                  coverage:
                    type: object
                    properties:
                      observed_entities:
                        type: array
                        items:
                          type: string
                      not_observed_entities:
                        type: array
                        items: {}
                      note:
                        type: string
                  denominator:
                    type: object
                    properties:
                      hash:
                        type: string
                      scope:
                        type: object
                        properties:
                          category:
                            type: string
                          languages:
                            type: array
                            items: {}
                          source_set:
                            type: array
                            items: {}
                          countries:
                            type: array
                            items: {}
                          regions:
                            type: array
                            items: {}
                          topic:
                            type: string
                      unit:
                        type: string
                      validation:
                        type: string
                      source:
                        type: string
                      total_story_count:
                        type: integer
                      total_article_count:
                        type: integer
                      total_weight:
                        type: integer
                      search_mode:
                        type: string
                      semantic_min_score: {}
                      semantic_candidate_limit: {}
                      semantic_truncated:
                        type: boolean
                  rows:
                    type: array
                    items:
                      type: object
                      properties:
                        run_id:
                          type: string
                        bucket_date:
                          type: string
                        canonical_entity_id:
                          type: string
                        display_name:
                          type: string
                        entity_type:
                          type: string
                        wikipedia_url:
                          type: string
                        entity_status:
                          type: string
                        denominator_hash:
                          type: string
                        denominator_profile_json:
                          type: string
                        denominator_story_count:
                          type: integer
                        denominator_article_count:
                          type: integer
                        denominator_weight:
                          type: integer
                        entity_story_count:
                          type: integer
                        entity_article_count:
                          type: integer
                        entity_weight:
                          type: integer
                        story_share:
                          type: number
                        article_share:
                          type: number
                        weighted_share:
                          type: number
                        avg_tone_score:
                          type: number
                        avg_risk_score:
                          type: number
                        tone_coverage_ratio:
                          type: number
                        coverage_warnings:
                          type: array
                          items: {}
                  methodology:
                    type: object
                    properties:
                      default_metric:
                        type: string
                      denominator_required:
                        type: boolean
                      note:
                        type: string
              examples:
                example:
                  summary: GET /api/v2/share-of-voice — example response
                  value:
                    status: available_live
                    start_date: '2026-06-01'
                    end_date: '2026-06-28'
                    entities:
                      - wikipedia:en:Saudi_Aramco
                      - wikipedia:en:Tesla,_Inc.
                    resolved_entities:
                      - input: Saudi Aramco
                        canonical_entity_id: wikipedia:en:Saudi_Aramco
                        display_name: Saudi Aramco
                        entity_type: organization
                        wikipedia_url: https://en.wikipedia.org/wiki/Saudi_Aramco
                        match_type: exact_alias
                      - input: Tesla
                        canonical_entity_id: wikipedia:en:Tesla,_Inc.
                        display_name: Tesla, Inc.
                        entity_type: organization
                        wikipedia_url: https://en.wikipedia.org/wiki/Tesla,_Inc.
                        match_type: exact_alias
                    unresolved_terms: []
                    coverage:
                      observed_entities:
                        - wikipedia:en:Saudi_Aramco
                        - wikipedia:en:Tesla,_Inc.
                      not_observed_entities: []
                      note: All requested entities were observed in the denominator.
                    denominator:
                      hash: d41f2c8a6b9e0357
                      scope:
                        category: energy
                        languages: []
                        source_set: []
                        countries: []
                        regions: []
                        topic: ''
                      unit: story
                      validation: accepted
                      source: live_query
                      total_story_count: 4820
                      total_article_count: 38917
                      total_weight: 41263
                      search_mode: structured_filters
                      semantic_min_score: null
                      semantic_candidate_limit: null
                      semantic_truncated: false
                    rows:
                      - run_id: ''
                        bucket_date: '2026-06-15'
                        canonical_entity_id: wikipedia:en:Saudi_Aramco
                        display_name: Saudi Aramco
                        entity_type: organization
                        wikipedia_url: https://en.wikipedia.org/wiki/Saudi_Aramco
                        entity_status: active
                        denominator_hash: d41f2c8a6b9e0357
                        denominator_profile_json: >-
                          {"scope":{"category":"energy"},"start_date":"2026-06-01","end_date":"2026-06-28"}
                        denominator_story_count: 172
                        denominator_article_count: 1389
                        denominator_weight: 1474
                        entity_story_count: 17
                        entity_article_count: 142
                        entity_weight: 151
                        story_share: 0.0988
                        article_share: 0.1022
                        weighted_share: 0.1024
                        avg_tone_score: 12.4
                        avg_risk_score: 28.7
                        tone_coverage_ratio: 0.88
                        coverage_warnings: []
                      - run_id: ''
                        bucket_date: '2026-06-15'
                        canonical_entity_id: wikipedia:en:Tesla,_Inc.
                        display_name: Tesla, Inc.
                        entity_type: organization
                        wikipedia_url: https://en.wikipedia.org/wiki/Tesla,_Inc.
                        entity_status: active
                        denominator_hash: d41f2c8a6b9e0357
                        denominator_profile_json: >-
                          {"scope":{"category":"energy"},"start_date":"2026-06-01","end_date":"2026-06-28"}
                        denominator_story_count: 172
                        denominator_article_count: 1389
                        denominator_weight: 1474
                        entity_story_count: 9
                        entity_article_count: 71
                        entity_weight: 74
                        story_share: 0.0523
                        article_share: 0.0511
                        weighted_share: 0.0502
                        avg_tone_score: -8.2
                        avg_risk_score: 41.3
                        tone_coverage_ratio: 0.78
                        coverage_warnings:
                          - tone_not_yet_scored
                    methodology:
                      default_metric: story_share
                      denominator_required: true
                      note: >-
                        Share of voice is share of a DEFINED conversation (the
                        denominator). A 0% share means the entity was not
                        observed within this denominator — for a semantic
                        denominator, its coverage fell below the similarity
                        threshold — NOT that the entity is absent from the news;
                        see coverage.not_observed_entities. V2 computes live
                        denominators from story/event/article filters and joins
                        canonical resolved entity-story links. Tone and risk
                        fields are optional context when entity-tone rows exist;
                        SOV itself remains count/share based.
        '401':
          description: Missing/invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            Plan required (PLAN_REQUIRED) — the caller's plan does not carry
            `can_use_share_of_voice`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
        code:
          type: string
        details:
          type: object
          description: >-
            Recoverable validation context when available, such as param,
            invalid_value, accepted_values, nearest_values, and a corrected
            example.
          additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: gdelt_sk_...
      description: 'GDELT Cloud API key. Send as `Authorization: Bearer gdelt_sk_...`.'

````