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