Articles

Cryptocurrency news articles with sentiment analysis, entity extraction, and filtering by coin and sentiment.

The article model

Properties

  • Name
    id
    Type
    string
    Description

    Unique article identifier (UUID).

  • Name
    title
    Type
    string
    Description

    Article headline.

  • Name
    url
    Type
    string
    Description

    Original article URL.

  • Name
    author
    Type
    string
    Description

    Article author name, if available.

  • Name
    content
    Type
    string
    Description

    Full article content.

  • Name
    excerpt
    Type
    string
    Description

    Short excerpt or summary of the article.

  • Name
    imageUrl
    Type
    string
    Description

    URL to the article's featured image.

  • Name
    publishedAt
    Type
    string
    Description

    ISO 8601 publication timestamp.

  • Name
    scrapedAt
    Type
    string
    Description

    ISO 8601 timestamp when the article was scraped.

  • Name
    sentimentScore
    Type
    number
    Description

    Sentiment score from -1 (very negative) to 1 (very positive).

  • Name
    sentimentClassification
    Type
    string
    Description

    Sentiment label: "positive", "negative", or "neutral".

  • Name
    relatedCoins
    Type
    string[]
    Description

    Coin identifiers extracted from the article (e.g., ["bitcoin", "ethereum"]).

  • Name
    tags
    Type
    string[]
    Description

    Tags associated with the article (e.g., ["defi", "regulation"]).


GET/api/v1/articles

List articles

Search and filter articles with pagination. Returns articles sorted by publication date by default.

Optional attributes

  • Name
    sentiment
    Type
    string
    Description

    Filter by sentiment classification: positive, negative, or neutral.

  • Name
    coin
    Type
    string
    Description

    Filter to articles mentioning a specific coin (e.g., "bitcoin").

  • Name
    locale
    Type
    string
    Description

    Filter by locale (e.g., "en", "es").

  • Name
    category
    Type
    string
    Description

    Filter by article category.

  • Name
    tags
    Type
    string
    Description

    Comma-separated list of tags to filter by (OR logic).

  • Name
    startDate
    Type
    string
    Description

    ISO 8601 start date for filtering by publication date.

  • Name
    endDate
    Type
    string
    Description

    ISO 8601 end date for filtering by publication date.

  • Name
    limit
    Type
    integer
    Description

    Results per page. Defaults to 20, max 100.

  • Name
    offset
    Type
    integer
    Description

    Number of results to skip for pagination.

  • Name
    sort
    Type
    string
    Description

    Sort field: publishedAt or sentimentScore. Defaults to publishedAt.

  • Name
    order
    Type
    string
    Description

    Sort direction: asc or desc. Defaults to desc.

Request

GET
/api/v1/articles?coin=bitcoin&sentiment=positive
curl -G https://api.bitcompare.net/api/v1/articles \
  -d coin=bitcoin \
  -d sentiment=positive \
  -d limit=10

Response

{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "title": "Bitcoin Surges Past $100K as Institutional Demand Grows",
      "url": "https://example.com/article/bitcoin-surges",
      "author": "Jane Smith",
      "excerpt": "Bitcoin reached a new milestone...",
      "imageUrl": "https://example.com/images/btc-surge.jpg",
      "publishedAt": "2026-02-25T10:30:00Z",
      "scrapedAt": "2026-02-25T10:35:00Z",
      "sentimentScore": 0.85,
      "sentimentClassification": "positive",
      "relatedCoins": ["bitcoin"],
      "tags": ["bitcoin", "institutional"]
    }
  ],
  "pagination": {
    "total": 142,
    "limit": 10,
    "offset": 0,
    "hasMore": true
  }
}

GET/api/v1/articles/:id

Get article

Retrieve a single article by its unique identifier.

Path parameters

  • Name
    id
    Type
    string
    Description

    Article UUID.

Request

GET
/api/v1/articles/550e8400-e29b-41d4-a716-446655440000
curl https://api.bitcompare.net/api/v1/articles/550e8400-e29b-41d4-a716-446655440000

Response

{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "title": "Bitcoin Surges Past $100K as Institutional Demand Grows",
    "url": "https://example.com/article/bitcoin-surges",
    "author": "Jane Smith",
    "content": "Bitcoin reached a new all-time high...",
    "excerpt": "Bitcoin reached a new milestone...",
    "imageUrl": "https://example.com/images/btc-surge.jpg",
    "publishedAt": "2026-02-25T10:30:00Z",
    "scrapedAt": "2026-02-25T10:35:00Z",
    "sentimentScore": 0.85,
    "sentimentClassification": "positive",
    "relatedCoins": ["bitcoin"],
    "tags": ["bitcoin", "institutional"]
  }
}

Error (404)

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Article not found"
  }
}

GET/api/v1/articles/sentiment/stats

Sentiment stats

Get aggregated sentiment statistics for articles over a time period.

Optional attributes

  • Name
    days
    Type
    integer
    Description

    Number of days to look back (1–365). Defaults to 7. Ignored if startDate and endDate are provided.

  • Name
    startDate
    Type
    string
    Description

    ISO 8601 start date for the time range.

  • Name
    endDate
    Type
    string
    Description

    ISO 8601 end date for the time range.

  • Name
    coin
    Type
    string
    Description

    Filter to articles mentioning a specific coin.

Request

GET
/api/v1/articles/sentiment/stats?days=30&coin=bitcoin
curl -G https://api.bitcompare.net/api/v1/articles/sentiment/stats \
  -d days=30 \
  -d coin=bitcoin

Response

{
  "data": {
    "total": 1250,
    "positive": 580,
    "negative": 320,
    "neutral": 350,
    "averageScore": 0.18
  }
}

Was this page helpful?