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

# News Feed



## OpenAPI

````yaml openapi.json GET /gateway/v1/news/feed
openapi: 3.1.0
info:
  title: Hermod
  version: 0.0.1
servers:
  - url: https://api.asksurf.ai
security: []
paths:
  /gateway/v1/news/feed:
    get:
      tags:
        - News
      summary: Crypto News Feed
      description: |-
        Returns crypto news from major sources.

        **Filters:** `source` (enum), `project`, and time range (`from`/`to`).

        **Sort:** `recency` (default) or `trending`.

        Use the detail endpoint with article `id` for full content.
      operationId: news-feed
      parameters:
        - description: Filter by news source
          explode: false
          in: query
          name: source
          schema:
            description: Filter by news source
            enum:
              - coindesk
              - cointelegraph
              - theblock
              - decrypt
              - dlnews
              - blockbeats
              - bitcoincom
              - coinpedia
              - ambcrypto
              - cryptodaily
              - cryptopotato
              - phemex
              - panews
              - odaily
              - tradingview
              - chaincatcher
              - techflow
            examples:
              - coindesk
            type: string
        - description: Comma-separated project names to filter by
          explode: false
          in: query
          name: project
          schema:
            description: Comma-separated project names to filter by
            examples:
              - bitcoin,ethereum
            type: string
        - description: >-
            Filter articles published on or after this time. Accepts Unix
            seconds or date string (2024-01-01)
          explode: false
          in: query
          name: from
          schema:
            description: >-
              Filter articles published on or after this time. Accepts Unix
              seconds or date string (2024-01-01)
            examples:
              - '2024-01-01'
            type: string
        - description: >-
            Filter articles published on or before this time. Accepts Unix
            seconds or date string (2024-02-01)
          explode: false
          in: query
          name: to
          schema:
            description: >-
              Filter articles published on or before this time. Accepts Unix
              seconds or date string (2024-02-01)
            examples:
              - '2024-02-01'
            type: string
        - description: 'Sort order: recency (newest first) or trending (hot right now)'
          explode: false
          in: query
          name: sort_by
          schema:
            default: recency
            description: 'Sort order: recency (newest first) or trending (hot right now)'
            enum:
              - recency
              - trending
            examples:
              - recency
            type: string
        - description: Results per page (max 50)
          explode: false
          in: query
          name: limit
          schema:
            default: 20
            description: Results per page (max 50)
            examples:
              - 20
            format: int64
            maximum: 50
            minimum: 1
            type: integer
        - description: Pagination offset
          explode: false
          in: query
          name: offset
          schema:
            default: 0
            description: Pagination offset
            examples:
              - 0
            format: int64
            minimum: 0
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseNewsArticleItem'
          description: OK
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAPIError'
          description: Error
      security:
        - AccessToken: []
components:
  schemas:
    DataResponseNewsArticleItem:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/DataResponseNewsArticleItem.json
          format: uri
          readOnly: true
          type: string
        data:
          items:
            $ref: '#/components/schemas/NewsArticleItem'
          type:
            - array
            - 'null'
        meta:
          $ref: '#/components/schemas/OffsetMeta'
      required:
        - data
        - meta
      type: object
    DataAPIError:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/DataAPIError.json
          format: uri
          readOnly: true
          type: string
        error:
          $ref: '#/components/schemas/DataAPIErrorDetail'
      required:
        - error
      type: object
    NewsArticleItem:
      additionalProperties: false
      properties:
        highlights:
          additionalProperties:
            items:
              type: string
            type:
              - array
              - 'null'
          description: >-
            Search highlight fragments with <em> tags around matching terms.
            Only present in search results.
          type: object
        id:
          description: Article ID. Use with the detail endpoint to fetch full content.
          type: string
        project_id:
          description: >-
            Surf project UUID — pass as 'id' parameter to /project/detail,
            /project/events, or /project/defi/metrics for exact lookup
          type: string
        project_name:
          description: Primary crypto project referenced in the article
          type: string
        published_at:
          description: Unix timestamp in seconds when the article was published
          format: int64
          type: integer
        source:
          description: Publisher name (e.g. COINDESK, COINTELEGRAPH)
          type: string
        summary:
          description: Short summary of the article
          type: string
        title:
          description: Article headline
          type: string
        url:
          description: Direct URL to the original article
          type: string
      required:
        - id
        - title
        - published_at
      type: object
    OffsetMeta:
      additionalProperties: false
      properties:
        cached:
          description: Whether this response was served from cache
          type: boolean
        credits_used:
          description: Credits deducted for this request
          format: int64
          type: integer
        limit:
          description: Maximum number of items returned in this response
          format: int64
          type: integer
        offset:
          description: Number of items skipped (pagination offset)
          format: int64
          type: integer
        total:
          description: >-
            Total number of matching items (before pagination). Omitted when
            total is unknown.
          format: int64
          type: integer
      required:
        - limit
        - offset
        - credits_used
        - cached
      type: object
    DataAPIErrorDetail:
      additionalProperties: false
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
      type: object

````