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

# News Feed

> Crypto news feed with title, summary, source, tags and related coins/funds.<br/><br/>Available from&#58; <Badge color="green">Advanced</Badge><br/>Cost&#58; <Badge color="surface">1 credit per request</Badge>

<Note>
  Filterable by coin, fund, tag, and date range.
</Note>

<Tip>
  `hasMainText` indicates whether a full article body is available via the [news detail endpoint](/api-reference/news/news-detail) — fetch it there. Check it before spending a credit on the detail call.
</Tip>


## OpenAPI

````yaml https://api.cryptorank.io/v3/documentation-json get /v3/news/feed
openapi: 3.0.0
info:
  title: Cryptorank API V3
  description: >
    # Overview


    Cryptorank Public API v3 — comprehensive cryptocurrency data for B2B clients
    and partners.


    Useful Links:

    - [API Plans](https://cryptorank.io/public-api)

    - [Dashboard](https://cryptorank.io/public-api/dashboard)


    # Getting Started


    Primary Server URL:
    [https://api.cryptorank.io/v3/](https://api.cryptorank.io/v3/)


    **Authentication**


    Generate an API key in the
    [dashboard](https://cryptorank.io/public-api/dashboard) and pass it in the
    `X-Api-Key` header.


    Keep your keys secret — never commit them to public repositories or expose
    them in client-side code.
  version: 3.0.0
  contact:
    name: Cryptorank Team
    url: https://cryptorank.io
    email: info@cryptorank.io
servers:
  - url: https://api.cryptorank.io
security: []
tags: []
paths:
  /v3/news/feed:
    get:
      tags:
        - News
      summary: News Feed
      description: >-
        **Description**


        Crypto news feed with title, summary, source, tags and related
        coins/funds.


        > **Note:** Filterable by coin, fund, tag, and date range.


        > **Tip:** `hasMainText` indicates whether a full article body is
        available via the [news detail
        endpoint](/api-reference/news/news-detail) — fetch it there. Check it
        before spending a credit on the detail call.


        **Access**

        - Available from: **Advanced**

        - Cost: 1 credit per request
      operationId: NewsController_getFeed
      parameters:
        - name: cursor
          required: false
          in: query
          description: >-
            Opaque pagination cursor returned by the previous response as
            `meta.nextCursor`. Pass it back unchanged to fetch the next page.
          schema:
            type: string
        - name: language
          required: false
          in: query
          description: Filter by article language. Omit to return all languages.
          schema:
            type: string
            enum:
              - en
              - ru
              - es
              - zh
              - tr
              - vi
              - pt
              - ko
        - name: currencyId
          required: false
          in: query
          description: Filter by mentioned currency id — only articles that reference it.
          schema:
            type: number
            example: 1
        - name: fundId
          required: false
          in: query
          description: Filter by mentioned fund id — only articles that reference it.
          schema:
            type: number
            example: 12
        - name: tagId
          required: false
          in: query
          description: Filter by tag id — only articles tagged with it.
          schema:
            example: 5
            type: number
        - name: from
          required: false
          in: query
          description: >-
            Return articles published on or after this moment (ISO 8601 or Unix
            timestamp in seconds/milliseconds).
          schema:
            type: string
        - name: to
          required: false
          in: query
          description: >-
            Return articles published on or before this moment (ISO 8601 or Unix
            timestamp in seconds/milliseconds). Bare dates (`YYYY-MM-DD`) are
            treated as end-of-day UTC so the named day is included.
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                  - status
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/NewsFeedItemDto'
                  meta:
                    $ref: '#/components/schemas/CursorMetaDto'
                  status:
                    $ref: '#/components/schemas/ResponseStatusDto'
        '400':
          description: Request validation failed
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - VALIDATION_ERROR
                        example: VALIDATION_ERROR
                      message:
                        type: string
                        example: Validation failed
                      status:
                        type: number
                        example: 400
        '401':
          description: API key is missing or invalid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - API_KEY_MISSING
                          - API_KEY_INVALID
                        example: API_KEY_MISSING
                      message:
                        type: string
                        example: API key is missing
                      status:
                        type: number
                        example: 401
        '403':
          description: >-
            No active subscription, the endpoint is not available in your plan,
            or the request goes beyond what your plan allows
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - NO_ACTIVE_SUBSCRIPTION
                          - ENDPOINT_NOT_AVAILABLE
                          - PLAN_LIMIT_EXCEEDED
                        example: NO_ACTIVE_SUBSCRIPTION
                      message:
                        type: string
                        example: No active subscription found
                      status:
                        type: number
                        example: 403
        '429':
          description: Rate limit or credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_CREDITS_EXCEEDED
                          - MONTHLY_CREDITS_EXCEEDED
                        example: RATE_LIMIT_EXCEEDED
                      message:
                        type: string
                        example: Rate limit exceeded
                      status:
                        type: number
                        example: 429
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - INTERNAL_ERROR
                        example: INTERNAL_ERROR
                      message:
                        type: string
                        example: Internal server error
                      status:
                        type: number
                        example: 500
      security:
        - X-Api-Key: []
components:
  schemas:
    NewsFeedItemDto:
      type: object
      properties:
        id:
          type: number
          example: 1234567
        title:
          type: string
          example: Bitcoin breaks new all-time high
        heroText:
          type: string
          nullable: true
          description: Short preview / lead text. Null when the source did not provide one.
        source:
          type: string
          example: CoinDesk
          description: Source name.
        sourceUrl:
          type: string
          example: https://www.coindesk.com/markets/2024/01/01/btc-ath
          nullable: true
          description: >-
            Link to the original article. Null when the source URL is
            unavailable.
        previewImage:
          type: string
          example: https://img.cryptorank.io/news/abc.jpg
          nullable: true
          description: Preview image URL. Null when the article has no image.
        publishedDate:
          type: string
          example: '2024-01-01T12:34:56.000Z'
          description: Publication timestamp (ISO 8601).
        language:
          type: string
          example: en
          enum:
            - en
            - ru
            - es
            - zh
            - tr
            - vi
            - pt
            - ko
          nullable: true
          description: Article language. Null when the source did not declare one.
        hasMainText:
          type: boolean
          example: true
          description: >-
            True when a full article body is available — fetch it from `GET
            /news/{id}/main-text`. False for headline-only items.
        tags:
          description: >-
            Tags associated with the news item. Each item carries an `id`
            (usable as the `tag` filter), a URL-friendly `key` slug and a
            display `name`.
          type: array
          items:
            $ref: '#/components/schemas/NewsFeedTagDto'
        assignedTokens:
          description: Currencies referenced by the article.
          type: array
          items:
            $ref: '#/components/schemas/NewsFeedAssignedTokenDto'
        assignedFunds:
          description: Funds referenced by the article.
          type: array
          items:
            $ref: '#/components/schemas/NewsFeedAssignedFundDto'
      required:
        - id
        - title
        - heroText
        - source
        - sourceUrl
        - previewImage
        - publishedDate
        - language
        - hasMainText
        - tags
        - assignedTokens
        - assignedFunds
    CursorMetaDto:
      type: object
      properties:
        nextCursor:
          type: string
          nullable: true
          example: eyJpZCI6MTIzNH0=
          description: >-
            Opaque cursor pointing to the next page; null when no further
            results exist.
      required:
        - nextCursor
    ResponseStatusDto:
      type: object
      properties:
        usedCredits:
          type: number
          example: 1
          description: Credits charged for this request
        timestamp:
          type: number
          example: 1780000000000
          description: Server time of the response. Unix timestamp in milliseconds
      required:
        - usedCredits
        - timestamp
    NewsFeedTagDto:
      type: object
      properties:
        id:
          type: number
          example: 5
          description: Tag id — pass to the `tag` query param to filter.
        key:
          type: string
          example: defi
          description: URL-friendly tag slug.
        name:
          type: string
          example: DeFi
          description: Display name.
      required:
        - id
        - key
        - name
    NewsFeedAssignedTokenDto:
      type: object
      properties:
        id:
          type: number
          example: 1
          description: Unique currency identifier.
        slug:
          type: string
          example: bitcoin
          description: URL-friendly currency slug.
        name:
          type: string
          example: Bitcoin
          description: Display name.
        symbol:
          type: string
          example: BTC
          description: Currency ticker symbol.
      required:
        - id
        - slug
        - name
        - symbol
    NewsFeedAssignedFundDto:
      type: object
      properties:
        id:
          type: number
          example: 12
          description: Fund id.
        name:
          type: string
          example: Pantera Capital
          description: Display name.
        slug:
          type: string
          example: pantera-capital
          description: URL-friendly fund slug.
      required:
        - id
        - name
        - slug
  securitySchemes:
    X-Api-Key:
      name: X-Api-Key
      type: apiKey
      in: header

````