Sinclair Corporate Content API

The public, unauthenticated read surface of Sinclair's corporate site at sbgi.net. Sinclair runs no developer program and publishes no API reference, but the site is WordPress and serves a live REST API at /wp-json/ whose index advertises 271 routes across 14 namespaces. Beyond the standard wp/v2 content routes, Sinclair ships a first-party sbg/v1 namespace: station-map returns the company's full television station footprint (call letters, network affiliation, DMA name and DMA rank, O&O/JSA/SSA ownership status, logo and street address), rsn-map returns the regional sports network territories with the teams each carries, world-locations powers the interactive Sinclair World experience, and latest-posts returns the newsroom feed. Content reads (posts, pages, media, categories, search, types, taxonomies, statuses) answer anonymously with HTTP 200; users, settings and plugins return HTTP 401. This is an undocumented public read surface, not a supported product.

Documentation

Specifications

Other Resources

OpenAPI Specification

sinclair-broadcast-group-content-openapi.yml Raw ↑
# Derived by the API Evangelist enrichment pipeline from the live WordPress
# REST API route index at https://sbgi.net/wp-json/ (fetched 2026-08-12).
# Source of record: openapi/_original/sinclair-broadcast-group-wp-json-index.json
openapi: 3.1.0
info:
  title: Sinclair Corporate Content API
  version: wp/v2 + sbg/v1
  summary: The public read surface of Sinclair, Inc.'s corporate site.
  description: 'Sinclair, Inc. does not run a developer program, but its corporate site at sbgi.net serves
    a live, unauthenticated WordPress REST API. Alongside the standard `wp/v2` content routes, Sinclair
    publishes a first-party `sbg/v1` namespace whose `station-map` route returns the company''s full television
    station footprint (call letters, network affiliation, DMA and DMA rank, ownership status, address)
    and whose `rsn-map` route returns the regional sports network territories.


    This document was DERIVED from the route descriptors WordPress publishes at https://sbgi.net/wp-json/
    and restricted to the routes verified to answer anonymously with HTTP 200 on 2026-08-12. Write methods
    and privileged routes (users, settings, plugins, wp-admin namespaces) are advertised by the index
    but return HTTP 401 without credentials and are deliberately excluded.


    Sinclair publishes no reference documentation, no terms of use and no rate limits for this surface.
    Treat it as an undocumented public read surface, not a supported product.'
  contact:
    name: Sinclair, Inc.
    url: https://sbgi.net
servers:
- url: https://sbgi.net/wp-json
  description: Sinclair corporate site WordPress REST API.
tags:
- name: Stations
  description: Sinclair's owned, operated and managed television station footprint.
- name: Corporate
  description: Corporate pages and the interactive 'Sinclair World' experience.
- name: Press
  description: Press releases, newsroom posts and comments.
- name: Media
  description: Media library assets served from the corporate site.
- name: Taxonomy
  description: Categories and tags that classify press releases.
- name: Search
  description: Cross-content search over the corporate site.
- name: Schema
  description: 'Self-describing metadata: content types, taxonomies and statuses.'
- name: Embed
  description: oEmbed representations of Sinclair corporate URLs.
paths:
  /sbg/v1/station-map:
    get:
      operationId: getStationMap
      summary: Every Sinclair-owned or operated television station plotted for the corporate station map,
        with call letters, network affiliation, DMA name and rank, ownership status (O&O / JSA / SSA),
        logo and street address.
      description: Every Sinclair-owned or operated television station plotted for the corporate station
        map, with call letters, network affiliation, DMA name and rank, ownership status (O&O / JSA /
        SSA), logo and street address.
      tags:
      - Stations
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /sbg/v1/rsn-map:
    get:
      operationId: getRsnMap
      summary: Regional sports network territories with marker location, logo, covered states, teams carried
        and the network website.
      description: Regional sports network territories with marker location, logo, covered states, teams
        carried and the network website.
      tags:
      - Stations
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /sbg/v1/world-locations:
    get:
      operationId: getWorldLocations
      summary: Location/scene records powering the interactive 'Sinclair World' corporate experience.
      description: Location/scene records powering the interactive 'Sinclair World' corporate experience.
      tags:
      - Corporate
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /sbg/v1/world-page:
    get:
      operationId: getWorldPage
      summary: Single 'Sinclair World' page payload.
      description: 'Single ''Sinclair World'' page payload. Returns {"success": false} when called without
        the page selector the front end supplies.'
      tags:
      - Corporate
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /sbg/v1/latest-posts:
    get:
      operationId: getLatestPosts
      summary: Pre-rendered HTML list of the most recent Sinclair press releases, as consumed by the corporate
        site.
      description: Pre-rendered HTML list of the most recent Sinclair press releases, as consumed by the
        corporate site.
      tags:
      - Press
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp/v2/posts:
    get:
      operationId: listPosts
      summary: List Sinclair press releases and newsroom posts.
      description: List Sinclair press releases and newsroom posts.
      tags:
      - Press
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
          headers:
            X-WP-Total:
              description: Total number of records in the collection.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
            Link:
              description: RFC 8288 rel="next" / rel="prev" pagination links.
              schema:
                type: string
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
        description: Maximum number of items to be returned in result set.
      - name: search
        in: query
        required: false
        schema:
          type: string
        description: Limit results to those matching a string.
      - name: after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published after a given ISO8601 compliant date.
      - name: modified_after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified after a given ISO8601 compliant date.
      - name: author
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to posts assigned to specific authors.
      - name: author_exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Ensure result set excludes posts assigned to specific authors.
      - name: before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published before a given ISO8601 compliant date.
      - name: modified_before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified before a given ISO8601 compliant date.
      - name: exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Ensure result set excludes specific IDs.
      - name: include
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to specific IDs.
      - name: search_semantics
        in: query
        required: false
        schema:
          type: string
          enum:
          - exact
        description: How to interpret the search input.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
        description: Offset the result set by a specific number of items.
      - name: order
        in: query
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
        description: Order sort attribute ascending or descending.
      - name: orderby
        in: query
        required: false
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          default: date
        description: Sort collection by post attribute.
      - name: search_columns
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - post_title
            - post_content
            - post_excerpt
          default: []
        description: Array of column names to be searched.
      - name: slug
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
        description: Limit result set to posts with one or more specific slugs.
      - name: status
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - publish
            - future
            - draft
            - pending
            - private
            - trash
            - auto-draft
            - inherit
            - request-pending
            - request-confirmed
            - request-failed
            - request-completed
            - acf-disabled
            - wp_stream_enabled
            - wp_stream_disabled
            - any
          default: publish
        description: Limit result set to posts assigned one or more statuses.
      - name: tax_relation
        in: query
        required: false
        schema:
          type: string
          enum:
          - AND
          - OR
        description: Limit result set based on relationship between multiple taxonomies.
      - name: categories
        in: query
        required: false
        schema:
          type: object
        description: Limit result set to items with specific terms assigned in the categories taxonomy.
      - name: categories_exclude
        in: query
        required: false
        schema:
          type: object
        description: Limit result set to items except those with specific terms assigned in the categories
          taxonomy.
      - name: tags
        in: query
        required: false
        schema:
          type: object
        description: Limit result set to items with specific terms assigned in the tags taxonomy.
      - name: tags_exclude
        in: query
        required: false
        schema:
          type: object
        description: Limit result set to items except those with specific terms assigned in the tags taxonomy.
      - name: sticky
        in: query
        required: false
        schema:
          type: boolean
        description: Limit result set to items that are sticky.
      - name: ignore_sticky
        in: query
        required: false
        schema:
          type: boolean
          default: true
        description: Whether to ignore sticky posts or not.
      - name: format
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - standard
            - aside
            - chat
            - gallery
            - link
            - image
            - quote
            - status
            - video
            - audio
        description: Limit result set to items assigned one or more given formats.
  /wp/v2/posts/{id}:
    get:
      operationId: getPost
      summary: Retrieve a single press release by id.
      description: Retrieve a single press release by id.
      tags:
      - Press
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier for the resource.
        schema:
          type: integer
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: excerpt_length
        in: query
        required: false
        schema:
          type: integer
        description: Override the default excerpt length.
      - name: password
        in: query
        required: false
        schema:
          type: string
        description: The password for the post if it is password protected.
  /wp/v2/pages:
    get:
      operationId: listPages
      summary: List corporate site pages.
      description: List corporate site pages.
      tags:
      - Corporate
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
          headers:
            X-WP-Total:
              description: Total number of records in the collection.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
            Link:
              description: RFC 8288 rel="next" / rel="prev" pagination links.
              schema:
                type: string
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
        description: Maximum number of items to be returned in result set.
      - name: search
        in: query
        required: false
        schema:
          type: string
        description: Limit results to those matching a string.
      - name: after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published after a given ISO8601 compliant date.
      - name: modified_after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified after a given ISO8601 compliant date.
      - name: author
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to posts assigned to specific authors.
      - name: author_exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Ensure result set excludes posts assigned to specific authors.
      - name: before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published before a given ISO8601 compliant date.
      - name: modified_before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified before a given ISO8601 compliant date.
      - name: exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Ensure result set excludes specific IDs.
      - name: include
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to specific IDs.
      - name: menu_order
        in: query
        required: false
        schema:
          type: integer
        description: Limit result set to posts with a specific menu_order value.
      - name: search_semantics
        in: query
        required: false
        schema:
          type: string
          enum:
          - exact
        description: How to interpret the search input.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
        description: Offset the result set by a specific number of items.
      - name: order
        in: query
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
        description: Order sort attribute ascending or descending.
      - name: orderby
        in: query
        required: false
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          - menu_order
          default: date
        description: Sort collection by post attribute.
      - name: parent
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to items with particular parent IDs.
      - name: parent_exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to all items except those of a particular parent ID.
      - name: search_columns
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - post_title
            - post_content
            - post_excerpt
          default: []
        description: Array of column names to be searched.
      - name: slug
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
        description: Limit result set to posts with one or more specific slugs.
      - name: status
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - publish
            - future
            - draft
            - pending
            - private
            - trash
            - auto-draft
            - inherit
            - request-pending
            - request-confirmed
            - request-failed
            - request-completed
            - acf-disabled
            - wp_stream_enabled
            - wp_stream_disabled
            - any
          default: publish
        description: Limit result set to posts assigned one or more statuses.
  /wp/v2/pages/{id}:
    get:
      operationId: getPage
      summary: Retrieve a single corporate page by id.
      description: Retrieve a single corporate page by id.
      tags:
      - Corporate
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier for the resource.
        schema:
          type: integer
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: excerpt_length
        in: query
        required: false
        schema:
          type: integer
        description: Override the default excerpt length.
      - name: password
        in: query
        required: false
        schema:
          type: string
        description: The password for the post if it is password protected.
  /wp/v2/media:
    get:
      operationId: listMedia
      summary: List media library items (images, logos, video assets).
      description: List media library items (images, logos, video assets).
      tags:
      - Media
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type:
                - array
                - object
          headers:
            X-WP-Total:
              description: Total number of records in the collection.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
            Link:
              description: RFC 8288 rel="next" / rel="prev" pagination links.
              schema:
                type: string
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated for a privileged context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
        description: Maximum number of items to be returned in result set.
      - name: search
        in: query
        required: false
        schema:
          type: string
        description: Limit results to those matching a string.
      - name: after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published after a given ISO8601 compliant date.
      - name: modified_after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified after a given ISO8601 compliant date.
      - name: author
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to posts assigned to specific authors.
      - name: author_exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Ensure result set excludes posts assigned to specific authors.
      - name: before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published before a given ISO8601 compliant date.
      - name: modified_before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified before a given ISO8601 compliant date.
      - name: exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Ensure result set excludes specific IDs.
      - name: include
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to specific IDs.
      - name: search_semantics
        in: query
        required: false
        schema:
          type: string
          enum:
          - exact
        description: How to interpret the search input.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
        description: Offset the result set by a specific number of items.
      - name: order
        in: query
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
        description: Order sort attribute ascending or descending.
      - name: orderby
        in: query
        required: false
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          default: date
        description: Sort collection by post attribute.
      - name: parent
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: 

# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sinclair-broadcast-group/refs/heads/main/openapi/sinclair-broadcast-group-content-openapi.yml