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

# List News Items

> One row per news item aggregated from crypto media, keyed by documentID: title, URL, summary, image, publish time, source with its type, video, recommended and price-analysis flags, and the assets mentioned. Filter by date, source, flag or asset; sort by feedDate descending for newest first.



## OpenAPI

````yaml api-reference/data-api/openapi.json GET /query/tabular/news-feed
openapi: 3.0.0
info:
  description: >-
    The Blockworks Data API is a unified, read-only REST interface to
    Blockworks' warehouse-modeled crypto dataset, powered by Messari's research
    and data infrastructure. It serves two kinds of models: tabular models,
    which return current, filterable, sortable rows for entities such as assets,
    networks, protocols, exchanges, stablecoins, and ETFs; and timeseries
    models, which return historical metric series at a chosen granularity for
    one or many entities. Every endpoint shares the same query grammar (column
    projection, per-column filters, sorting, and pagination) and returns the
    standard `{ "error": ..., "data": ... }` envelope. Authenticate by sending
    your API key in the `X-Blockworks-API-Key` header.
  title: Blockworks Data API
  version: 0.1.0
servers:
  - description: Blockworks API
    url: https://api.blockworks.com
security:
  - apiKey: []
tags:
  - description: 'Models documented under Acquisitions: Acquisition Deals (table).'
    name: Acquisitions
  - description: >-
      Models documented under Assets: Assets (table), Asset Marketcap
      (timeseries), Asset Price (timeseries), Asset Sharpe (timeseries), Asset
      Supply (timeseries), Asset Volatility (timeseries).
    name: Assets
  - description: >-
      Models documented under Blockchains: Blockchains (table), Blockchains
      (timeseries).
    name: Blockchains
  - description: >-
      Models documented under Derivatives: Perpetual Markets (table), Perpetual
      Markets (timeseries).
    name: Derivatives
  - description: >-
      Models documented under Digital Asset Treasuries: DAT Companies (table),
      DAT Company Assets (table), DAT Companies (timeseries), DAT Companies by
      Asset (timeseries).
    name: Digital Asset Treasuries
  - description: >-
      Models documented under ETFs: ETF Assets (table), ETF Providers (table),
      ETF Assets (timeseries), ETF Providers (timeseries).
    name: ETFs
  - description: >-
      Models documented under Exchanges: Exchange Country (timeseries), Exchange
      Region (timeseries), Exchange Type (timeseries), Exchanges (timeseries).
    name: Exchanges
  - description: >-
      Models documented under Funding Rounds: Funding Round Investors (table),
      Funding Rounds (table), Sector Fundraising (timeseries).
    name: Funding Rounds
  - description: >-
      Models documented under Funds & Investors: Fund Managers (table), Funds
      (table).
    name: Funds & Investors
  - description: >-
      Models documented under Launchpads: Launchpad Chains (table), Launchpads
      (table), Launchpads (timeseries), Launchpads by Chain (timeseries).
    name: Launchpads
  - description: >-
      Models documented under Lending Protocols: Lending Protocol Product
      Markets (table), Lending Protocol Products (table), Lending Protocols
      (table), Lending Protocols (timeseries), Lending Protocols by Product
      (timeseries), Lending Protocols by Product Market (timeseries).
    name: Lending Protocols
  - description: >-
      Models documented under Market Overview: Sector Marketdata (timeseries),
      Sub-Sector Marketdata (timeseries).
    name: Market Overview
  - description: 'Models documented under Markets: Market (BQEN) (timeseries).'
    name: Markets
  - description: >-
      Models documented under News & Research: News Feed (table), Research
      Reports (table), Topics (timeseries).
    name: News & Research
  - description: >-
      Models documented under Perp DEXes: Perp DEX Protocols (table), Perp DEX
      Protocols (timeseries).
    name: Perp DEXes
  - description: 'Models documented under Projects & Entities: Projects (timeseries).'
    name: Projects & Entities
  - description: >-
      Models documented under Protocol Revenue: Protocol Revenue (timeseries),
      Protocol Revenue by Product (timeseries).
    name: Protocol Revenue
  - description: >-
      Models documented under Social & Mindshare: Asset Group Sentiment
      (timeseries), Asset Investor Mentions (timeseries), Asset Mindshare
      (timeseries), Asset Sentiment (timeseries), Project Mindshare
      (timeseries), Sector Asset Mindshare (timeseries), Sector Asset Sentiment
      (timeseries), Sector Investor Mentions (timeseries), Sub-Sector Asset
      Mindshare (timeseries), Sub-Sector Asset Sentiment (timeseries).
    name: Social & Mindshare
  - description: >-
      Models documented under Spot DEXes: Spot DEX Protocol Chains (table), Spot
      DEX Protocols (table), Spot DEX Protocols (timeseries), Spot DEX Protocols
      by Chain (timeseries).
    name: Spot DEXes
  - description: >-
      Models documented under Stablecoins: Stablecoin Chains (table), Stablecoin
      Currencies (table), Stablecoin FX Pairs (table), Stablecoin Issuers
      (table), Stablecoin Products (table), Stablecoin Reserve Entities (table),
      Stablecoin FX (timeseries), Stablecoin Reserves (timeseries), Stablecoins
      by Chain (timeseries), Stablecoins by Currency (timeseries), Stablecoins
      by Issuer (timeseries), Stablecoins by Product (timeseries).
    name: Stablecoins
  - description: >-
      Models documented under TCG Platforms: TCG Platform Chains (table), TCG
      Platforms by Chain (timeseries).
    name: TCG Platforms
  - description: >-
      Discovery of the tabular models: one row per entity, with per-column
      filters, sorting and pagination.
    name: Tabular
  - description: >-
      Discovery of the timeseries models: one series per entity, as points at
      the granularities each model declares.
    name: Timeseries
  - description: >-
      Models documented under Token Transparency Framework: Token Transparency
      Filing Questions (table), Token Transparency Filing Schemas (table), Token
      Transparency Filings (table), Token Transparency Projects (table).
    name: Token Transparency Framework
  - description: >-
      Models documented under Tokenized Commodities: Tokenized Commodities
      (table), Tokenized Commodity Chains (table), Tokenized Commodity Issuers
      (table), Tokenized Commodity Products (table), Tokenized Commodities by
      Chain (timeseries), Tokenized Commodities by Commodity (timeseries),
      Tokenized Commodities by Issuer (timeseries), Tokenized Commodities by
      Product (timeseries).
    name: Tokenized Commodities
  - description: >-
      Models documented under Tokenized Equities: Tokenized Equities (table),
      Tokenized Equity Chains (table), Tokenized Equity Issuers (table),
      Tokenized Equity Products (table), Tokenized Equities by Chain
      (timeseries), Tokenized Equities by Equity (timeseries), Tokenized
      Equities by Issuer (timeseries), Tokenized Equities by Product
      (timeseries).
    name: Tokenized Equities
  - description: >-
      Models documented under Vaults: Vault Chains (table), Vault Curators
      (table), Vault Protocols (table), Vault Curators (timeseries), Vault
      Protocols (timeseries), Vaults by Chain (timeseries).
    name: Vaults
paths:
  /query/tabular/news-feed:
    get:
      tags:
        - News & Research
      summary: List News Items
      description: >-
        One row per news item aggregated from crypto media, keyed by documentID:
        title, URL, summary, image, publish time, source with its type, video,
        recommended and price-analysis flags, and the assets mentioned. Filter
        by date, source, flag or asset; sort by feedDate descending for newest
        first.
      operationId: getTabular_news_feed
      parameters:
        - description: Document ID equals.
          in: query
          name: documentIDEq
          schema:
            type: string
        - description: Document ID is one of (comma-separated).
          in: query
          name: documentIDIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Feed Date equals.
          in: query
          name: feedDateEq
          schema:
            format: date-time
            type: string
        - description: Feed Date is greater than.
          in: query
          name: feedDateGt
          schema:
            format: date-time
            type: string
        - description: Feed Date is greater than or equal to.
          in: query
          name: feedDateGte
          schema:
            format: date-time
            type: string
        - description: Feed Date is less than.
          in: query
          name: feedDateLt
          schema:
            format: date-time
            type: string
        - description: Feed Date is less than or equal to.
          in: query
          name: feedDateLte
          schema:
            format: date-time
            type: string
        - description: Publish Time Millis is greater than.
          in: query
          name: publishTimeMillisGt
          schema:
            format: int64
            type: integer
        - description: Publish Time Millis is greater than or equal to.
          in: query
          name: publishTimeMillisGte
          schema:
            format: int64
            type: integer
        - description: Publish Time Millis is less than.
          in: query
          name: publishTimeMillisLt
          schema:
            format: int64
            type: integer
        - description: Publish Time Millis is less than or equal to.
          in: query
          name: publishTimeMillisLte
          schema:
            format: int64
            type: integer
        - description: Source ID equals.
          in: query
          name: sourceIDEq
          schema:
            type: string
        - description: Source ID is one of (comma-separated).
          in: query
          name: sourceIDIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Source ID is not one of (comma-separated).
          in: query
          name: sourceIDIsNotOneOf
          schema:
            items:
              type: string
            type: array
        - description: Source Name equals.
          in: query
          name: sourceNameEq
          schema:
            type: string
        - description: Source Name is one of (comma-separated).
          in: query
          name: sourceNameIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Source Type equals.
          in: query
          name: sourceTypeEq
          schema:
            type: string
        - description: Source Type is one of (comma-separated).
          in: query
          name: sourceTypeIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Source Type is not one of (comma-separated).
          in: query
          name: sourceTypeIsNotOneOf
          schema:
            items:
              type: string
            type: array
        - description: Is Video equals.
          in: query
          name: isVideoEq
          schema:
            type: boolean
        - description: Is Video does not equal.
          in: query
          name: isVideoNotEq
          schema:
            type: boolean
        - description: Is Recommended equals.
          in: query
          name: isRecommendedEq
          schema:
            type: boolean
        - description: Is Recommended does not equal.
          in: query
          name: isRecommendedNotEq
          schema:
            type: boolean
        - description: Is Price Analysis equals.
          in: query
          name: isPriceAnalysisEq
          schema:
            type: boolean
        - description: Is Price Analysis does not equal.
          in: query
          name: isPriceAnalysisNotEq
          schema:
            type: boolean
        - description: Asset IDs array includes.
          in: query
          name: assetIDsIncludes
          schema:
            type: string
        - description: Asset IDs array does not include.
          in: query
          name: assetIDsNotIncludes
          schema:
            type: string
        - description: Asset IDs array includes any of (comma-separated).
          in: query
          name: assetIDsIncludesAnyOf
          schema:
            items:
              type: string
            type: array
        - description: Asset IDs array includes none of (comma-separated).
          in: query
          name: assetIDsNotIncludesAnyOf
          schema:
            items:
              type: string
            type: array
        - description: Field to sort by; defaults to the model's default sort column.
          in: query
          name: sortBy
          schema:
            default: feedDate
            enum:
              - feedDate
              - publishTimeMillis
            type: string
        - description: Sort direction.
          in: query
          name: sortDirection
          schema:
            default: asc
            enum:
              - asc
              - desc
            type: string
        - description: 1-based page number.
          in: query
          name: page
          schema:
            type: integer
        - description: Rows per page (max 1000, default 100).
          in: query
          name: pageSize
          schema:
            type: integer
        - description: Comma-separated fields to return; defaults to all fields.
          in: query
          name: selections
          schema:
            items:
              enum:
                - documentID
                - title
                - url
                - summary
                - feedDate
                - publishTimeMillis
                - sourceID
                - sourceName
                - sourceType
                - isVideo
                - isRecommended
                - isPriceAnalysis
                - ogImageURL
                - assetIDs
                - assets
              type: string
            type: array
        - description: >-
            Response format, overriding the Accept header: json (default), csv,
            or jsonl (NDJSON). csv and jsonl return the rows as a downloadable
            file.
          in: query
          name: acceptFormat
          schema:
            default: json
            enum:
              - json
              - csv
              - jsonl
            type: string
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                  - assetIDs:
                      - <assetIDs>
                    assets:
                      - {}
                    documentID: <documentID>
                    feedDate: '2024-01-01T00:00:00Z'
                    isPriceAnalysis: true
                    isRecommended: true
                    isVideo: true
                    ogImageURL: <ogImageURL>
                    publishTimeMillis: 123
                    sourceID: <sourceID>
                    sourceName: <sourceName>
                    sourceType: <sourceType>
                    summary: <summary>
                    title: <title>
                    url: <url>
                error: null
                metadata:
                  totalPages: 1
                  totalRows: 1
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/NewsFeedRow'
                    type: array
                  error:
                    nullable: true
                    type: string
                  metadata:
                    description: >-
                      Pagination totals for the full filtered result set,
                      independent of the current page.
                    properties:
                      totalPages:
                        format: int64
                        type: integer
                      totalRows:
                        format: int64
                        type: integer
                    required:
                      - totalRows
                      - totalPages
                    type: object
                required:
                  - data
                  - metadata
                type: object
            application/x-ndjson:
              schema:
                description: JSON Lines (NDJSON); one JSON object per line.
                type: string
            text/csv:
              schema:
                description: CSV with a header row; one row per record.
                type: string
          description: >-
            One page of matching rows, with the totals for the whole filtered
            set.
        '400':
          content:
            application/json:
              example:
                data: null
                error: unknown query parameter "documentID"
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            The request is malformed: an unknown query parameter (a filter needs
            its operator suffix, such as documentIDEq), a filter value of the
            wrong type, a sortBy field that is not sortable, an unknown
            selections field, or a pageSize above 1000.
        '401':
          content:
            application/json:
              example:
                data: null
                error: this model requires authentication
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No API key was sent and the model requires one.
        '403':
          content:
            application/json:
              example:
                data: null
                error: this model requires the "news_research_unified" permission
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            The API key is not valid, or does not hold the
            "news_research_unified" permission.
        '404':
          content:
            application/json:
              example:
                data: null
                error: tabular model "unknown-model" not found
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            The path names a model that does not exist: the slug is mistyped or
            the model was removed.
components:
  schemas:
    NewsFeedRow:
      properties:
        assetIDs:
          description: >-
            Asset IDs referenced by the news article. Used to filter the feed by
            asset.
          items:
            type: string
          nullable: true
          type: array
        assets:
          description: >-
            Assets referenced by the news article, including id, slug, name, and
            symbol.
          items:
            type: object
          nullable: true
          type: array
        documentID:
          description: The unique identifier of the news document.
          nullable: true
          type: string
        feedDate:
          description: The publish date of the news article, used to order the feed.
          format: date-time
          nullable: true
          type: string
        isPriceAnalysis:
          description: If true, the news article is a price analysis.
          nullable: true
          type: boolean
        isRecommended:
          description: If true, the news article is recommended.
          nullable: true
          type: boolean
        isVideo:
          description: If true, the news document is a video.
          nullable: true
          type: boolean
        ogImageURL:
          description: URL of the Open Graph image for the news article.
          nullable: true
          type: string
        publishTimeMillis:
          description: The publish time of the news article in epoch milliseconds.
          format: int64
          nullable: true
          type: integer
        sourceID:
          description: The unique identifier of the news source.
          nullable: true
          type: string
        sourceName:
          description: Name of the news source.
          nullable: true
          type: string
        sourceType:
          description: Type of the news source (e.g. NEWS, BLOG, FORUM, YOUTUBE_VIDEO).
          nullable: true
          type: string
        summary:
          description: Summary of the news article.
          nullable: true
          type: string
        title:
          description: Title of the news article.
          nullable: true
          type: string
        url:
          description: URL of the news article.
          nullable: true
          type: string
      type: object
    ErrorResponse:
      properties:
        data:
          description: Always null on an error.
          nullable: true
          type: object
        error:
          description: What went wrong, in one sentence.
          type: string
      required:
        - error
        - data
      type: object
  securitySchemes:
    apiKey:
      description: >-
        API key sent in the `X-Blockworks-API-Key` header; `x-messari-api-key`
        is accepted for existing integrations. The catalog endpoints and models
        on the public access tier need no key.
      in: header
      name: X-Blockworks-API-Key
      type: apiKey

````