Skip to main content

How it works

By default, article endpoints return base fields only — lightweight and fast. To get enriched data like sentiment analysis, entity extraction, or market impact, use the include query parameter.
# Base fields only
curl https://worker.rushed.com.br/api/articles \
  -H "X-API-Key: rsh_live_xxx"

# With sentiment and entities
curl "https://worker.rushed.com.br/api/articles?include=sentiment,entities" \
  -H "X-API-Key: rsh_live_xxx"

# Everything
curl "https://worker.rushed.com.br/api/articles?include=sentiment,market_impact,entities,translations,scoring,classification,meta" \
  -H "X-API-Key: rsh_live_xxx"

Available modules

ModuleFieldsMin Plan
sentimentsentimentScore, sentimentLabel, sentimentConfidencePro
market_impactmarketImpactLevel, marketImpactHorizon, marketImpactScope, marketConfidenceLevelPro
entitiesentities[] with mentionCount, prominenceScore, sentimentTowardEntity, isInTitle, isInLeadPro
translationstitlePt, subtitlePt, summaryPt, titleEn, subtitleEn, summaryEnStarter
scoringbaseScore, sourceScore, depthScore, exclusivityScore, financialImpactScore, typeMultiplierPro
classificationsecondarySectors[], secondaryTopics[]Starter
metasourceTier, hasPaywall, wordCount, readingTimeMin, authorNameStarter

Base fields (always returned)

These fields are included in every response regardless of the include parameter:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "sourceUrl": "https://reuters.com/article/...",
  "sourceName": "Reuters",
  "title": "Petrobras announces record dividend payout",
  "subtitle": "State oil company declares R$72B in dividends",
  "summary": "Petrobras declared its largest-ever dividend...",
  "publishedAt": "2026-03-28T14:30:00Z",
  "primarySector": "FIN",
  "primaryTopic": "DIV",
  "contentType": "BREAKING",
  "urgencyLevel": "HIGH",
  "isBreaking": true,
  "imageUrl": "https://...",
  "language": "en"
}

Enriched response example

With ?include=sentiment,entities,scoring:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Petrobras announces record dividend payout",
  "publishedAt": "2026-03-28T14:30:00Z",
  "primarySector": "FIN",
  "primaryTopic": "DIV",
  "contentType": "BREAKING",
  "urgencyLevel": "HIGH",
  "isBreaking": true,
  "language": "en",

  "sentimentScore": 0.82,
  "sentimentLabel": "MUITO_POSITIVO",
  "sentimentConfidence": 0.91,

  "entities": [
    {
      "entityId": "a1b2c3d4-...",
      "entityType": "COMPANY",
      "canonicalName": "Petrobras",
      "ticker": "PETR4",
      "mentionCount": 12,
      "prominenceScore": 0.95,
      "sentimentTowardEntity": 0.78,
      "isInTitle": true,
      "isInLead": true
    }
  ],

  "baseScore": 87,
  "sourceScore": 23,
  "depthScore": 12,
  "exclusivityScore": 15,
  "financialImpactScore": 37,
  "typeMultiplier": 2.0
}

Plan-gated modules

If you request a module your plan does not include, the API returns 403:
{
  "success": false,
  "error": "The 'sentiment' module requires a Pro plan. Upgrade at https://dash.therushed.com.br/billing",
  "statusCode": 403,
  "requiredPlan": "pro",
  "module": "sentiment"
}

Best practices

  • Request only what you need. Each module adds data to the response. Smaller payloads mean faster responses.
  • Cache enriched responses. Sentiment, entities, and scoring don’t change after classification. Cache them on your side.
  • Use base fields for listing, enriched for detail. List endpoints with base fields, then fetch individual articles with include when the user clicks through.