CryptoCompare News API

Crypto news articles, sources, categories, and search.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

cryptocompare-news-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: CoinDesk Data API (CCData) Asset News API
  description: 'The CoinDesk Data API (formerly CCData / CryptoCompare data-api) is the modern, institutional-grade replacement for the legacy min-api. It exposes a consolidated surface across Spot markets (latest tick, instrument metadata, historical OHLCV, trades, order book L1), CoinDesk Indices and Reference Rates (CADLI, CCIX, CCIXBE), Futures and Options derivatives, Asset metadata and overview, On-chain data, News articles, and Polling / On-demand exports. Authentication uses an API key supplied either as the api_key query parameter or as `Authorization: Apikey {apiKey}`. The base URL is https://data-api.cryptocompare.com.'
  version: '1.0'
  contact:
    name: CoinDesk Data Support
    url: https://developers.coindesk.com/support
    email: data@cryptocompare.com
  termsOfService: https://data.coindesk.com/terms
  license:
    name: CoinDesk Data API Terms
    url: https://data.coindesk.com/terms
servers:
- url: https://data-api.cryptocompare.com
  description: Production Server
security:
- apiKeyQuery: []
- apiKeyHeader: []
tags:
- name: News
  description: Crypto news articles, sources, categories, and search.
paths:
  /news/v1/article/list:
    get:
      operationId: getNewsArticleList
      summary: Get News Article List
      description: Returns the most recent news articles aggregated across integrated sources. Supports filtering by language, source, category, search keyword, and timestamp.
      tags:
      - News
      parameters:
      - name: lang
        in: query
        description: ISO 639-1 language code (default EN).
        schema:
          type: string
          default: EN
      - name: source_ids
        in: query
        description: Comma-separated list of source IDs.
        schema:
          type: string
      - name: source_key
        in: query
        description: Source key (e.g. coindesk).
        schema:
          type: string
      - name: categories
        in: query
        description: Comma-separated list of category keys.
        schema:
          type: string
      - name: exclude_categories
        in: query
        description: Comma-separated list of category keys to exclude.
        schema:
          type: string
      - name: search_string
        in: query
        description: Full-text search query.
        schema:
          type: string
      - name: to_ts
        in: query
        description: Upper bound timestamp (seconds).
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: News article list envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsArticleListResponse'
  /news/v1/source/list:
    get:
      operationId: getNewsSourceList
      summary: Get News Source List
      description: Returns the list of integrated news sources.
      tags:
      - News
      parameters:
      - name: lang
        in: query
        description: Filter sources by language.
        schema:
          type: string
      - name: source_type
        in: query
        description: Filter sources by type (RSS, TWITTER, API).
        schema:
          type: string
      responses:
        '200':
          description: News source list envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsSourceListResponse'
  /news/v1/category/list:
    get:
      operationId: getNewsCategoryList
      summary: Get News Category List
      description: Returns the list of news categories used for tagging articles.
      tags:
      - News
      responses:
        '200':
          description: News category list envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsCategoryListResponse'
  /v2/news/:
    get:
      operationId: getLatestNewsArticles
      summary: Get Latest News Articles
      description: Returns the most recent cryptocurrency news articles aggregated from every integrated source. Filterable by language, source, and category.
      tags:
      - News
      parameters:
      - name: lang
        in: query
        description: ISO 639-1 language code. Defaults to EN.
        schema:
          type: string
          default: EN
      - name: feeds
        in: query
        description: Comma-separated list of source feed keys.
        schema:
          type: string
      - name: categories
        in: query
        description: Comma-separated list of category keys.
        schema:
          type: string
      - name: excludeCategories
        in: query
        description: Comma-separated list of categories to exclude.
        schema:
          type: string
      - name: lTs
        in: query
        description: Latest timestamp (seconds) to return articles before.
        schema:
          type: integer
          format: int64
      - name: sortOrder
        in: query
        description: Sort order, latest or popular.
        schema:
          type: string
          enum:
          - latest
          - popular
      - name: limit
        in: query
        description: Number of articles to return (default 50).
        schema:
          type: integer
          default: 50
      responses:
        '200':
          description: List of news articles with source and category metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsListResponse'
  /news/feeds:
    get:
      operationId: getNewsSources
      summary: Get News Sources
      description: Returns the list of news source feeds available for filtering.
      tags:
      - News
      responses:
        '200':
          description: List of news sources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsSourcesResponse'
  /news/categories:
    get:
      operationId: getNewsCategories
      summary: Get News Categories
      description: Returns the list of news categories used for tagging articles.
      tags:
      - News
      responses:
        '200':
          description: List of news categories.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsCategoriesResponse'
  /news/feedsandcategories:
    get:
      operationId: getNewsFeedsAndCategories
      summary: Get News Feeds and Categories
      description: Returns both available source feeds and categories in a single call.
      tags:
      - News
      responses:
        '200':
          description: Feeds and categories envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsFeedsAndCategoriesResponse'
components:
  schemas:
    NewsCategoryListResponse:
      type: object
      properties:
        Data:
          type: array
          items:
            type: object
            properties:
              TYPE:
                type: string
              ID:
                type: integer
              NAME:
                type: string
              CATEGORY:
                type: string
    NewsFeedsAndCategoriesResponse:
      type: object
      properties:
        Type:
          type: integer
        Message:
          type: string
        Data:
          type: object
          properties:
            Feeds:
              type: array
              items:
                type: object
            Categories:
              type: array
              items:
                type: object
    NewsCategoriesResponse:
      type: object
      properties:
        Message:
          type: string
        Type:
          type: integer
        Data:
          type: array
          items:
            type: object
            properties:
              categoryName:
                type: string
              wordsAssociatedWithCategory:
                type: array
                items:
                  type: string
    NewsListResponse:
      type: object
      properties:
        Type:
          type: integer
        Message:
          type: string
        Promoted:
          type: array
          items:
            type: object
        Data:
          type: array
          items:
            $ref: '#/components/schemas/NewsArticle'
    NewsSourceListResponse:
      type: object
      properties:
        Data:
          type: array
          items:
            type: object
            properties:
              TYPE:
                type: string
              ID:
                type: integer
              SOURCE_KEY:
                type: string
              NAME:
                type: string
              URL:
                type: string
              LANG:
                type: string
              SOURCE_TYPE:
                type: string
              LAUNCH_DATE:
                type: integer
                format: int64
              BENCHMARK_SCORE:
                type: number
              STATUS:
                type: string
    NewsArticleListResponse:
      type: object
      properties:
        Data:
          type: array
          items:
            $ref: '#/components/schemas/NewsArticle'
        Err:
          type: object
    NewsArticle:
      type: object
      properties:
        TYPE:
          type: string
        ID:
          type: integer
        GUID:
          type: string
        PUBLISHED_ON:
          type: integer
          format: int64
        IMAGE_URL:
          type: string
        TITLE:
          type: string
        SUBTITLE:
          type: string
        AUTHORS:
          type: string
        URL:
          type: string
        SOURCE_ID:
          type: integer
        BODY:
          type: string
        KEYWORDS:
          type: string
        LANG:
          type: string
        UPVOTES:
          type: integer
        DOWNVOTES:
          type: integer
        SCORE:
          type: integer
        SENTIMENT:
          type: string
          enum:
          - POSITIVE
          - NEUTRAL
          - NEGATIVE
        STATUS:
          type: string
        CREATED_ON:
          type: integer
          format: int64
        SOURCE_DATA:
          type: object
        CATEGORY_DATA:
          type: array
          items:
            type: object
    NewsSourcesResponse:
      type: object
      properties:
        Message:
          type: string
        Type:
          type: integer
        Data:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              name:
                type: string
              lang:
                type: string
              img:
                type: string
  parameters:
    LimitParam:
      name: limit
      in: query
      description: Number of data points to return.
      schema:
        type: integer
        default: 30
        maximum: 2000
  securitySchemes:
    apiKeyQuery:
      type: apiKey
      name: api_key
      in: query
      description: API key supplied as the api_key query parameter.
    apiKeyHeader:
      type: apiKey
      name: Authorization
      in: header
      description: 'API key supplied as `Authorization: Apikey {apiKey}`.'
externalDocs:
  description: CoinDesk Data API Documentation
  url: https://developers.coindesk.com/documentation/data-api/introduction