Comscore
Query Comscore's Digital and Linear TV measurement data directly in your conversation. Look up website traffic, audience demographics, category rankings, cross-visiting behavior, and audience overlap for any digital media entity. For linear TV, search networks, explore viewership trends, and pull structured data from the TV API — all without leaving the chat. Useful for media researchers, analysts, and strategists who need quick answers from Comscore data without writing API calls or navigating dashboards. Requires Comscore Subscription.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Market & Competitive Intelligence Data
- Secondary Subcategories
- None listed
- Brand
- Comscore
- Access
- Account required
- First tracked
- 2026-08-08
- Tool count
- 23
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is visible.
ChatGPT Plugin Discoverability Score
ChatGPT organic discovery is not live yet
Comscore is tracked in the ChatGPT Plugin registry. Public organic-discovery measurement is not live for ChatGPT yet, so there is no score to publish today.
Get notified when your score goes live
Enter your work email and we’ll notify you when ChatGPT Plugin organic discovery scoring launches.
No spam. Unsubscribe any time.
Competing in ChatGPT Market & Competitive Intelligence Data
View CategoryHow the Discoverability Score works
Organic discovery scoring for Comscore on ChatGPT is not live yet. The score will use measured agent conversations when it launches.
Organic discovery scoring is pending. Your Plugin score will appear on this scale when measurement goes live.
FoundDiagnostic
Whether Claude found your Plugin in connector search. It must be Found before it can reach the picker, but the score counts picker appearances—not search results.
PickedMain score
How often your Plugin appeared in the picker, or Claude invoked it directly, across contested conversations. This percentage is the Discoverability Score; the headline number is rounded.
PositionedDiagnostic
What position your Plugin appeared in when it was shown in the picker. This shows prominence, but it does not affect the score.
23 tools agents can invoke
Searches for media entities (sites/apps) by name. Intended for questions like "what sites match X" or "find the ID for Y". get_metric, get_trend, get_demographics, get_audience_overlap, and get_cross_visiting resolve media internally and do not require a prior find_media call. This is a prefix search — query="Nexstar" returns all Nexstar entities in one call. Args: query: Site, app, or brand as the user names it (e.g. "HBO", "cnn.com") — pass it verbatim, don't convert a brand to a domain. Use the shortest parent name to get the full portfolio. geo: Geographic market, default "US". product: Product slug for context, default "mmx". report: Report slug for context, default "keymeasures". time_period: Numeric period code. Defaults to last published month. exact_match: Require exact name match, default False.
Audience overlap (duplication) across 2–10 sites/apps — the shared audience and what fraction of each entity's audience also visits the others. For MMX, platform="multiplatform" (the default) returns Total Digital Population, Desktop, AND Mobile breakdowns together under each entity's "by_platform" key — a single call covers all three; separate desktop and mobile calls return data already present in the multiplatform response. Reports a per-entity value for every requested metric plus the duplicated audience ("2 or More Sites" and "All Sites") and the combined unduplicated total. Supports an audience filter (age/gender/HH-size etc.) and US local markets (CS Markets). Args: media: 2–10 entities as the user names them (e.g. ["HBO", "ESPN", "cnn.com"]) — pass each verbatim, don't convert a brand to a domain. metrics: Metrics to report, e.g. ["unique visitors", "reach", "minutes", "average minutes per visitor"]. Defaults to unique visitors + % reach. (mmx only; video/mobile products report unique visitors.) audience: Optional audience filter. Pass a single string ("women 25-54", "adults 18+", "HH Size: 1") for a standard filter, OR a list of strings to combine multiple segments as an Advanced Audience (e.g. ["HH Size: 1", "HH Size: 2", "HH Size: 3"]). Multiple segments are OR-combined into one request (targetType=1). Omit for total. time: "last_month" (default), "YYYY-MM", or raw period integer. geo: "US" (default), a country, or a US local market / CS Market (e.g. "Boston, MA"). CS Markets run on the MMX Desktop data source only (no Mobile/TDP breakdown), and are available for the mmx product only. product: "mmx" (default), "video" (VMX), "mobile". platform: "multiplatform" (default) — use this for all MMX requests. Returns TDP + Desktop + Mobile in one call. "desktop" or "mobile" only when the user explicitly requests a single platform view with no breakdown needed. Ignored for video/mobile products.
Other sites that a site's audience also visits (affinity / cross-visiting). Returns, per co-visited site/category, the shared audience and the requested cross-visiting metrics. Args: media: Base site/app/brand as the user names it — pass it verbatim. For multiple base entities pass a list or a semicolon-joined string ("PayPal;CNN.COM"). time: "last_month" (default), "YYYY-MM", or raw period integer. geo: Geographic market, default "US" (e.g. "Brazil" for non-US). product: "mmx" (default), "video" (VMX), "mobile". platform: "multiplatform" (default), "desktop", "mobile". Ignored for video/mobile. limit: Co-visited sites to return, default 100. target_category: Target entity category whose members become the rows — an industry ("Automotive", "News") or a rollup ("Top 100 Properties", default). Mutually exclusive with target_entities. target_entities: Specific target entities to use as rows (Digital Entities mode), e.g. ["CNN Brasil", "CNNBRASIL.COM.BR"]. List or semicolon-joined string. When set, only these entities are returned (overrides target_category). metrics: Cross-visiting metrics, e.g. ["Shared Audience (000)", "% Vertical", "% Horizontal", "Index"]. List or semicolon-joined string. Defaults to all four. audience: Audience filter. Single string ("Total Audience", "Males 21+") for a standard target, or a list to combine segments as an Advanced Audience (targetType=1), e.g. ["Females 45+", "Females 35-44"]. Omit for Total Audience. domains_only: When True, expand categories to individual domains (leaf entities) rather than brand/property rollups. Maps to the report's "domains only" option.
Full demographic breakdown for a site. Use for Demographic Profile, Demographic Breakouts, and any widget asking for age/gender/region/income breakdown of an entity's audience. Use instead of calling get_metric repeatedly with different targets. Args: media: Site, app, or brand as the user names it — pass it verbatim, don't convert a brand to a domain. For multiple entities pass comma-separated names, e.g. "Yahoo,Yahoo Sports". time: "last_month" (default), "YYYY-MM", or raw period integer. geo: Geographic market, default "US". product: "mmx" (default), "video" (VMX), "mobile". platform: "multiplatform" (default), "desktop", "mobile". Ignored for video/mobile. audience: Comma-separated demographic dimensions to break down by (e.g. "Children,HH Size", "Region,Language", "Persons"). Default: age/gender breakdown. Valid segments: standard age/gender targets, plus "Children", "HH Size", "HHI" (household income), "Race", "Region", "Language". Prefix with "advanced," for a filtered single segment (e.g. "advanced,Children: Yes"). metrics: List of metrics to return alongside UV (e.g. ["% Reach", "% Composition", "Total Visits", "Total Views"]). Default: unique visitors only. For multiplatform, % Reach breakdown by Desktop/Mobile is always included. audience_universe: Audience universe for multiplatform MMX, same values as get_metric (e.g. "Desktop 2+ and Total Mobile 18+", "Desktop 2+ and Total Mobile 13+"). Defaults to "Desktop 2+ and Total Mobile 18+" (universeTypeId 4), which the demographicprofile report requires to return data for multiplatform/mobile.
Entity Status widget — shows measurement coverage for a site/publisher across platforms (Desktop, Smartphone iOS/Android, CTV) and content types (Display, Video). Use for the Entity Status widget or when the user asks about measurement/tagging status. Args: media: Site, category, or brand (e.g. "CNN.COM", "Social", "ESPN.com Sites"). time: "last_month" (default), "YYYY-MM", or raw period integer. geo: Geographic market, default "US". entity_type: "Digital Entities" (default) for a specific site/brand, or "Digital Categories" for a category (e.g. "Social", "News") — a category returns the measurement status of every property within it.
Single-month metric for a site or publisher. For multiple months use get_trend; for full demographic breakdown use get_demographics. Never call find_media first. - Multiple months ("last 6 months", date range) → use get_trend - Full age/gender breakdown → use get_demographics; use target= here only for a single segment - Ranked list of sites in a category (Media Ranker, Industry Ranker) → use get_top_entities, NOT this tool - EXCEPTION: if specific named entities are given (e.g. "OUTKICK.COM;PayPal"), use get_metric for each entity individually — do NOT use get_top_entities when specific entities are listed - Lifestyle/behavioral/psychographic audience (e.g. "married", "EV buyer", "gamer") → use get_plan_metrix instead; target= only accepts standard age/gender demo labels - Sub-properties or channels (e.g. "CNN by section") → expand_all_media=True - Company properties (e.g. "Microsoft properties", "Google sites") → media="Microsoft", expand_all_media=True. Comscore has a parent/child media tree; the publisher is the parent and its sites/apps are children. Never ask the user to list domains. Args: media: Site, app, or brand as the user names it (e.g. "HBO", "cnn.com") — pass it verbatim, including any qualifier in parentheses (e.g. "ESPN (Mobile App)", "CNN (TV App)"). Never strip qualifiers or convert a brand to a domain. metric: "unique visitors", "reach", "minutes", "pages", "page views (mm)", "visits", "frequency", "viewers", "video views", "composition index", "% composition", "composition index videos", "composition index minutes", "% composition minutes", "avg daily visitors", "desktop-only uv", "mobile-only uv" (multiplatform mmx only — exclusive audiences), (and aliases like "people", "UV", "time spent"). "Composition index" / "% composition" express how concentrated the audience is vs. the target's universe — they require target= to be set to be meaningful (mmx only). time: "last_month", "YYYY-MM", or raw period integer. geo: Geographic market, default "US". product: "mmx" (default, web+app), "video" (VMX), "mobile" (Mobile Metrix). platform: For mmx: "desktop" (default), "multiplatform" (desktop+mobile), "mobile". For video: "multiplatform" (default, = Desktop+Mobile+CTV), "desktop", "mobile", "ctv". limit: Max rows, default 10. target: Demographic segment — "gen z", "women", "18-24", "men 25-34", etc. For combined/Advanced Audience (multiple segments OR'd), prefix with "advanced," e.g. "advanced,Males: 65+,Males: 55-64,Females: 65+". These are OR-combined (targetType=1) and returned as a single aggregate value. expand_all_media: True to return sub-property breakdown with hierarchy (depth, parent_id). beta_data: True to use Comscore beta/preview data instead of standard production data (the UI "beta data" toggle). Default False (standard). mmx only. percent_change: True to also fetch the prior month and report the change vs. that period (adds prev_value/prev_value_human/percent_change to output). audience_universe: Audience universe for multiplatform MMX reports. Only applies when platform="multiplatform". Valid values: "Desktop 2+ and Total Mobile 18+" (id=4, default for most markets), "Desktop 2+ and Total Mobile 13+" (id=6), "Desktop 6+ and Total Mobile 18+" (id=4, some geos), "Default" or omit for no universe filter. include_total_internet: True to also fetch the Total Internet baseline for the same geo/time/target and include it alongside the entity result. Mirrors the UI "Include Total Internet" toggle. A report submission error from this tool indicates an invalid parameter combination and should be surfaced to the user.
Plan Metrix metrics (views, visitors, reach, etc.) for a custom audience segment. Use this tool whenever the audience is anything other than a plain age/gender demo — including: household size, income, education, purchase intent, lifestyle, psychographics, or ANY combination of multiple segments (e.g. Female AND household size 2 or 3). get_metric only accepts a single age/gender target; all other audience definitions require this tool. search_plan_metrix_audience returns the numeric segment IDs this tool requires. For demographic breakdown queries (e.g. "show results by Hispanic sub-segment"), media="total internet" is appropriate — the audience segments are the rows, not a media filter. Audience expressions combine all required segments: use ^ (AND) / | (OR) to compose a single expression (e.g. "A^B|A^C"). Each call covers one expression; one combined call is more efficient than multiple calls with individual segment IDs. CROSSTAB MODE: When the user asks for a matrix of row segments × column segments (e.g. "show Hispanic sub-segments as rows and music purchase categories as columns"), pass: - audience_rows: the row segment expression (e.g. "6607|4827|5965") - audience: the column segment expression (e.g. "859216|859640|859641") - metric: "target audience (000)" and/or "% vertical" — both are returned natively in one call. This uses a single API call instead of N×M separate calls. Always prefer this over looping. Args: media: "total internet" for universe figures, a PMX category name (e.g. "Entertainment", "Automotive", "News"), or a specific domain/brand name (e.g. "netflix.com"). Pass the name directly — do NOT pass a numeric ID here. audience: Boolean expression of numeric segment IDs (column segments in crosstab mode). Operators: ^ (AND), | (OR), ! (NOT). NO parentheses — API rejects them. Use distributive law: (A|B)^C → A^C|B^C E.g. "583658", "583658^5425", "583658|583655", "583658^!12417" metric: "unique visitors" (default), "reach", "total minutes", "total views", "total pages", "total visits", "avg minutes", "avg visits", "composition index", "composition %", "% vertical" (crosstab only). Note: "total views" and "total pages" both map to the same Plan Metrix measure — the Core UI labels it "Total Views MM". time: "last_month" (default), "YYYY-MM", or raw period integer. geo: Geographic market, default "US". platform: "desktop+mobile" (default), "desktop", "mobile". "desktop+mobile" returns the combined/total across platforms in a single call with deduplication handled internally. Two separate calls (desktop + mobile) do not produce an accurate combined figure. audience_rows: Row segment expression for crosstab mode. When set, `audience` becomes the column expression and a single consumertargetprofilev2 call returns the full matrix with Target Audience (000) and % Vertical for every row × column cell. Use the same boolean expression syntax as `audience`.
Ranked list of top entities within a category. USE THIS TOOL for Media Ranker, Media Industry Ranker, and any widget that shows a ranked list of sites/publishers within an industry or category. When the user specifies an entity (e.g. "CNN.COM") as the context for a ranker, find that entity's industry category and pass it as `category` — do NOT call get_metric for the entity; that returns only a single value, not a ranked list. Common entity → category mappings (use search_category if unsure): CNN.COM, BBC → "News" or "General News" Spotify, Apple Music → "Entertainment - Music" or "Entertainment" ESPN, BBC Sport → "Sports" YouTube, Netflix → "Streaming Video" SHOPIFY.COM → "Retail" Adobe Sites → "Technology" PSG.FR, sports teams → "Sports" NPR.ORG → "News" OUTKICK.COM → "Sports" or "News" Lifestyles / BDG Lifestyles / lifestyle brands → "Lifestyles" Automotive brands → "Automotive" Health/medical → "Health" Travel brands → "Travel" For Mobile Metrix ranker (product="mobile"), pass the same category name — it maps to the correct mobile-specific mediaSet automatically. product='video' (VMX) IS supported — use it for video publisher / streaming queries. product='mobile' (Mobile Metrix) IS supported — use it for mobile audience queries. product='mmx' is the default for general web audience queries. Product routing: - "top video publishers", "streaming", "video views", "viewers" → product='video', metric='video views' - "top mobile apps/sites", "mobile audience" → product='mobile' - everything else → product='mmx' Supported metrics by product (use these alias names): mmx (multiplatform): 'unique visitors', 'reach', 'minutes', 'pages', 'visits', 'video views', 'frequency', 'median age', 'mean age' mmx (desktop only): all above + 'composition index' video (VMX): 'video views', 'viewers' (=unique viewers/reach 000), 'minutes', 'reach', 'frequency', 'videos per viewer' mobile: 'unique visitors', 'reach', 'minutes', 'pages', 'visits', 'frequency', 'median age', 'mean age', 'median income' Args: category: "top 100" for general queries; verticals: "news", "sports", "automotive", "health", "travel", "finance", "technology", "retail", "social media", "streaming video", etc. Call search_category if unsure. For Media Industry Ranker: pass the entity's industry category, not the entity itself. metric: Metric to rank by, default "unique visitors". For multiplatform metrics specify the platform suffix, e.g. "unique visitors, Desktop and Mobile" or "% Reach, Desktop". time: "last_month" (default), "YYYY-MM", or raw period integer. geo: Geographic market, default "US". product: "mmx" (default), "video" (VMX), or "mobile" (Mobile Metrix). platform: "multiplatform" (default), "desktop", "mobile". For video: also "ctv". limit: Top N to return (default 100, max 100).
Multi-month time series for a site metric. Use for trends, "last N months", or any date range. Never call find_media first. Args: media: Site, app, or brand as the user names it — pass it verbatim, including any qualifier in parentheses (e.g. "ESPN (Mobile App)", "CNN (TV App)"). Never strip qualifiers or convert a brand to a domain. metric: Same vocabulary as get_metric. time_range: "last_3_months" (default), "last_6_months", "last_12_months", or "YYYY-MM:YYYY-MM". geo: Geographic market, default "US". product: "mmx" (default), "video" (VMX), "mobile". platform: For mmx: "desktop" (default), "multiplatform" (desktop+mobile), "mobile". For video: "multiplatform" (default, = Desktop+Mobile+CTV), "desktop", "mobile", "ctv". limit: Max rows, default 0 (all months). target: Single demographic segment — same vocabulary as get_metric. audience_universe: Audience universe for multiplatform MMX — same values as get_metric. include_total_internet: True to also return a Total Internet baseline series. expand_all_media: True to return sub-property trend breakdown (e.g. CNN sections over time). A report submission error from this tool indicates an invalid parameter combination and should be surfaced to the user.
List all metrics available for a given product and platform by querying the API live. Returns the authoritative metric list for questions like "what metrics are available", "what can I measure", or "what views/reach/minutes metrics exist" for a given data source. Args: product: "mmx" (default, desktop+mobile web), "video" (VMX), "mobile" (Mobile Metrix). platform: "multiplatform" (default), "desktop", "mobile". For mmx: "multiplatform" = dataSource=25, "desktop" = dataSource=1. geo: Geographic market, default "US".
Find available category names for get_top_entities. Args: query: Partial name to search (case-insensitive), e.g. "auto", "health".
Search the Plan Metrix segment catalog (~5000 segments). Call this before get_plan_metrix to find segment IDs. Args: query: Natural language audience description, e.g. "podcast listener", "EV buyer", "TikTok user".
NOT SUPPORTED — audience duplication data is not available via this API. The Comscore TV REST API (mrtv/v7) does not expose an audience duplication endpoint. This report type requires the legacy Comscore reporting system which is not accessible through this integration. When called, this tool immediately returns an unsupported error. Do not attempt workarounds — tell the user this report is unavailable. Args: year: Year, e.g. 2025. broadcast_month: Month name, e.g. "January", "August". markets: Market names for local path. stations: Station call signs/names for local path. networks: Network names for national path. dayparts: Daypart filters, e.g. ["Overnight", "Prime"]. Examples: # Local audience duplication — Abilene TX stations, Aug 2024 tv_audience_overlap( markets=["Abilene, TX"], year=2024, broadcast_month="August", ) # Network audience duplication — Colors and A&E, Jan 2025, Overnight tv_audience_overlap( networks=["Colors", "A&E"], year=2025, broadcast_month="January", dayparts=["Overnight"], )
Station demographic breakdown or national HH/demo universe estimates. TWO MODES: 1. Station Demographic Breakdown (set universe_estimates=False, default): Returns avg_aud by demographic group (income, race, education, country of origin). Requires markets or stations + period. 2. National HH/Demo Universe Estimates (set universe_estimates=True): Returns national_demo_universe for demographic groups. Use year + month instead of period. Args: period: Period string (mode 1). E.g. "Specific Time Range;2024-April-03-2024-April-09". markets: Market names (mode 1). stations: Station call signs or names (mode 1). dayparts: Daypart filters (mode 1), e.g. ["All Week", "Weekdays"]. demo_groups: Demographic group names to look up. Examples: Mode 1: ["HHs W/ Race/Ethnicity", "Household Income", "Country of Origin", "HHs W/ Education"] Mode 2: ["A18+", "M18+", "W18+", "English more than Spanish", "Dog - Yes"] universe_estimates: True → national universe estimates mode. year: Year for universe estimates mode (e.g. 2024). month: Month name for universe estimates mode (e.g. "April"). Examples: # Station demographic breakdown — WABC, race/ethnicity tv_demographics( stations=["WABC New York, N.Y. (ABC)"], period="Specific Time Range;2024-April-03-2024-April-09", dayparts=["All Week"], demo_groups=["HHs W/ Race/Ethnicity"], ) # National HH demo universe estimates tv_demographics( universe_estimates=True, demo_groups=["A18+", "M18+", "W18+"], year=2023, month="October", )
Network viewership broken down by market — National Market widget. Args: period: Period string, e.g. "Specific calendar month;2023-November". markets: Market names, e.g. ["Portland, ME", "Abilene, TX"]. networks: Network names, e.g. ["ABC", "A&E"]. None = all networks. metrics: Default: ["avg_aud", "rating", "num_hours"]. Options: "avg_aud", "rating", "num_hours", "market_index" (market vs national rating ratio ×100), "hh_universe" (household universe count), "market_rank" (market rank number). "Total Hours Viewed" → "num_hours"; "Market Index" → "market_index"; "Household Universe" → "hh_universe"; "Market Rnk"/"Market #" → "market_rank". group_by: Dimensions, e.g. ["market", "network"] (default), ["network"] (aggregate all selected markets per network), ["market"] (aggregate across networks per market), ["network", "day_of_week"]. When grouped by both market and network, a market-total rollup row (network_name "(N networks)") is inserted above each market's network rows. Example: tv_market_viewership( markets=["Portland, ME", "Abilene, TX"], networks=["ABC", "A&E"], period="Specific calendar month;2023-November", metrics=["avg_aud", "rating", "num_hours", "market_index"], group_by=["market", "network"], )
Use this when a TV tool response contains a next_page_token to retrieve the next page. Keep calling until next_page_token is null. Args: next_page_token: The token from the previous response's next_page_token field.
Program schedule — what aired on a station/network on a given day. Covers: Station Schedule widget. Scope: provide markets, stations, or networks (at least one). markets: Fetch schedule for all stations in these markets. stations: Specific station call signs or names. networks: Network name for national schedule lookup. Args: day: Date string, e.g. "2024-July-01" or "2024-07-01". fields: Columns to return (user-friendly OR API names). Default: all available. User-friendly → API name mappings: "Air Date" → "day" (broadcast date, formatted as 'Mon DD, YYYY') "Air Time" → "airdatetime" (broadcast start time, H:MM AM/PM local) "Run Time" → "duration_minutes" (program length in minutes, integer) "Series Name" → "series_name" "Episode Title" → "episode_title" Other API fields: "episode_no", "is_new_airing", "series_genre". NOTE: "Run Time" = duration in MINUTES (e.g. 30, 60). It is NOT a time of day. Do NOT confuse "Run Time" (program length) with "Air Time" (broadcast clock time). Examples: # Station schedule for ABC network on July 1 2024 tv_schedule(networks=["ABC"], day="2024-July-01", fields=["Run Time", "Series Name"]) # Schedule for a specific station with Air Date, Air Time, Run Time, Series Name, Episode Title tv_schedule(stations=["ERC Washington, D.C. (Cozi TV)"], day="2025-July-01", fields=["Air Date", "Air Time", "Run Time", "Series Name", "Episode Title"])
Use this only when standard demo labels aren't enough — for niche/custom demographics. For common labels (A18-49, A25-54, M18-49, W25-54, HH, etc.), pass them DIRECTLY to the high-level tools (tv_viewership_by_program, tv_viewership_by_time) via the `demo` parameter — they resolve standard demos internally with no extra call needed. Multiple demos can be requested in one call via "A18-34;A18-49;A25-54" (semicolon-separated). DO NOT use this for "household", "total household", "HH", or "total HH" — pass demo="HH". This tool is for resolving non-standard demos (custom ad-buying targets, station-specific demos, etc.) when the standard label doesn't apply. Args: name: Name fragment to search for (case-insensitive), e.g. "Hispanic A18-34", "WSIL". Standard demos (no lookup needed; pass directly to high-level tools): P2+ / HH=83841, P18-49=83844, P18+=83845, A18-34=651, A18-49=3623, A18+=46524, A25-54=652, M18-49=3632, M18+=46525, M25-54=3633, W18-49=3641, W18+=46526, W25-54=3642. Standard ranges not covered above (A50+, A55+, A35+ etc.) may not exist as pre-built demos — these are typically ad-targeting custom demos.
Find a Comscore TV market by name fragment to get its market_no. Use before any local TV query when you only have a market name like "Abilene, TX" or "New York". Args: name: Market name fragment (case-insensitive), e.g. "Abilene", "Boston", "New York".
Use this when you need to resolve a TV network name to its network_no ID. Args: name: Name fragment to search for (case-insensitive), e.g. "CNN", "NBC", "ESPN". Must be non-empty.
Use this when you need to find a specific local TV station by call sign or name to get its station_no. Covers both broadcast affiliates (positive station_no) and cable networks (negative station_no). Args: name: Call sign or name fragment to search for (case-insensitive). Examples: "GBTS", "WBZ", "WCVB", "NBC", "Boston CBS", "crmz". market_no: Optional — restrict results to stations whose primary market matches this market_no. Use tv_search_markets to resolve a market name to market_no. Example — find GBTS in Boston: tv_search_stations(name="GBTS") # by call sign tv_search_stations(name="NBC", market_no=2009) # NBC affiliates in Boston market
Program-level viewership ranked by audience. Covers: Local Ranker, Local Program-Based, National Ranker, National Program-Based, National Ad Report, Syndicated Series Reporting. Scope (provide at least one, or omit all for all national networks): markets: Market names, e.g. ["Abilene, TX", "Buffalo, NY"] Automatically fetches all stations in those markets. stations: Station call signs or names, e.g. ["WABC", "KRBC Abilene, Texas (NBC)"] Can mix with markets. networks: Network names for national path, e.g. ["ABC", "NBC", "A&E"] Mutually exclusive with markets/stations. Args: period: Period string. Examples: "Specific broadcast month;2023-February" "Specific calendar month;2023-November" "Specific Time Range;2024-March-13-2024-March-14" "Specific Day;2024-July-01" dayparts: Daypart names or clock hours, e.g. ["Prime", "14:00", "3am to 3am"]. Named: "Early Morning", "Daytime", "Early Fringe", "Prime Access", "Prime"/"Broadcast Prime", "Late Fringe", "Overnight". Clock hour: "02:00PM", "14:00", "07:00AM" → 1-hour window each. Multiple clock hours: pass each as a separate list item, e.g. ["12:00AM", "01:00AM"] for midnight-2am coverage (two 1-hour windows). Semicolon-separated string also works: "12:00AM;01:00AM". "3am to 3am" / "6am to 6am" / "All Week" = total day (no filter). days_of_week: Day filters, e.g. ["Monday", "Weekdays", "Friday"]. Can also be included in dayparts list. dimension: What to rank rows by: "series" (default), "station", "network", "telecast", "newscasts", "genre". demo: Demographic, e.g. "HH" (default), "A18-49", "W25-54", "M18-49". Multiple demos can be requested in a single call by separating them with semicolons, e.g. "A18-34;A18-49;A25-54;A55+". The first demo uses the bare metric name (e.g. avg_aud, rating); each additional demo gets its own column suffixed with the demo label, e.g. avg_aud_A18-49, rating_A55+. Prefer this over multiple calls. metrics: Metrics to return. Default: ["avg_aud", "rating", "share", "num_hours"]. Options: "avg_aud", "rating", "share", "num_hours", "demo_index" (the demographic "Index" metric — pass "Index" or "demo_index"), "ad_rating", "ad_grps", "ad_avg_aud", "ad_gross_aud", "ad_to_telecast_index", "num_airings", "ad_num_airings" (national ad report only). Syndicated series: "daily_aa", "gross_aa", "weighted_aa", "available_hours", "series_no" (routes to local_syndicated_views). stream: "live" (default), "live+3" / "c3", "live+7" / "c7". Works on both national (commercial c3/c7 ratings) and local (DVR-inclusive playback within 72h/168h) endpoints. series_filter: {"include": ["Series Name"]} or {"exclude": ["Series Name"]} to filter by specific series. extra_periods: Additional period strings to include alongside the primary period. Use for "Extra Period" comparison periods. Pass the raw value from the prompt including the "Extra Period;" prefix if present, e.g. ["Extra Period;2023-November-25-2023-November-26"] or without the prefix: ["2023-November-25-2023-November-26"]. Results from all periods are combined into a single OR date filter. breakout: Optional secondary breakout dimension that splits each program row into one row per value, instead of aggregating over the whole period. Use "week" for a per-week pivot (the "Series;Week" column pivot) — e.g. each program gets a row per broadcast week with that week's share/index, rather than a period average. Currently supported on local program queries. limit: Maximum rows to return (default 100). Increase for full rankings, decrease for top-N queries. The API caps at 10000. Examples: # Local Ranker — station dimension, Abilene TX, Feb 2023 broadcast month, 2PM tv_viewership_by_program( markets=["Abilene, TX"], period="Specific broadcast month;2023-February", dayparts=["02:00PM"], dimension="station", demo="HH", stream="live+3", ) # National Ranker — series on A&E, October 2023, Friday overnight tv_viewership_by_program( networks=["A&E"], period="Specific calendar month;2023-October", dayparts=["Friday", "Overnight"], dimension="series", demo="A18+", )
Time-slot viewership — ratings by quarter-hour, hour, or day. Covers: Local Time-Based, National Time-Based, Local Trender (Chart), National Trender (Chart), Time-Based Grid widgets. Scope (provide at least one, or omit for all national networks): markets: Market names, e.g. ["Abilene, TX"] stations: Station call signs or names, e.g. ["KRBC Abilene, Texas (NBC)"] networks: Network names for national path, e.g. ["AMC", "ABC"] Args: period: Period string (same formats as tv_viewership_by_program). dayparts: Daypart names or clock hours to filter to. Days of week can also be included here. days_of_week: Day filters (can also go in dayparts). granularity: Time resolution for rows: "qtr_hour" (default) — one row per 15-minute slot "hour" — one row per hour "day" — one row per broadcast day (Trender) "week" — one row per week demo: Demographic, e.g. "HH", "A18-49". Multiple demos can be requested in one call by separating with semicolons, e.g. "A18-34;A18-49;A55+" — each gets its own column suffixed with the demo label (rating_A18-49, avg_aud_A55+, ...). Prefer this over multiple calls. IMPORTANT: when the request asks for BOTH "household metrics" and "demographic metrics" (e.g. household "Live Share" + demographic "Share" with a stated demographic like A18+), pass HH together with that demographic: demo="HH;A18+". The HH column satisfies the household metric and the demo column satisfies the demographic metric. metrics: Default: ["avg_aud", "rating"]. Options: "avg_aud", "rating", "share", "num_hours", "sets_in_use" (the "Sets In Use" / "SIU" / "QH SIU" metric — pass "Sets In Use" or "sets_in_use"). Like share, sets_in_use emits one column per demo (HH → "sets_in_use", demo → "sets_in_use_<demo>"). stream: "live" (default), "live+3" / "c3", "live+7" / "c7". limit: Maximum rows to return (default 100). Increase to fetch a full trender/time-grid; the API caps at 10000. Examples: # Local Time-Based — KRBC Abilene, quarter-hour, March 2024 tv_viewership_by_time( stations=["KRBC Abilene, Texas (NBC)"], period="Specific Time Range;2024-March-29-2024-March-30", dayparts=["6am to 6am", "Weekdays"], granularity="qtr_hour", ) # Local Trender — all stations in Abilene, by hour, broadcast week June 2025 tv_viewership_by_time( markets=["Abilene, TX"], period="Specific broadcast week;Week: 25 - (16-June-2025 - 22-June-2025)", granularity="hour", demo="A18-24", ) # National Time-Based — AMC, qtr-hour, Jan 2023, Wednesday midnight. # Request asks for household Share AND A18+ Share → pass both demos so # the result has an HH share column ("share") and an A18+ column ("share_A18+"). tv_viewership_by_time( networks=["AMC"], period="Specific Time Range;2023-January-17-2023-January-18", dayparts=["Wednesday", "12:00AM"], granularity="qtr_hour", demo="HH;A18+", metrics=["share"], )
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Comscore alternatives on ChatGPT?
As of 2026-08-14, Comscore competes with ABRAMS Trade Intelligence, Clutch.co, Company Dossier, Crunchbase, D&B Finance Analytics, Dow Jones Factiva, Economic Mind, Grata EU, Iceflower, InfoTrack.ai, JARS LT, Kindora, Placer.ai Pi, PolicyNote, Powerset Research, SmartCustomer, Songstats, Soundcharts, Trace, Website Launches, Windsock, ZINT in ChatGPT Market & Competitive Intelligence Data, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.