Enriched Webhooks

Enriched Webhooks deliver AI-processed article data with company entity resolution, sentiment analysis, and the full set of filtering options.


Article model

Enriched Webhooks deliver the complete article payload including AI-generated company data, sentiment analysis, and entity resolution.

  • Name
    link
    Type
    string
    Description

    URL to the full article.

  • Name
    source
    Type
    string
    Description

    Source website. E.g. www.reuters.com

  • Name
    title
    Type
    string
    Description

    Title of the article.

  • Name
    summary
    Type
    string
    Description

    Summary of the article if available. Can be nullable.

  • Name
    publishDate
    Type
    Date
    Description

    Publication date as ISO 8601 date string.

  • Name
    language
    Type
    string
    Description

    Language code in ISO 639-1. E.g. en | de | fr

  • Name
    sentiment
    Type
    string
    Description

    AI-generated sentiment of the article. Possible values: positive | negative | neutral.

  • Name
    confidence
    Type
    number
    Description

    Confidence score for the sentiment value, between 0 and 1.

  • Name
    images
    Type
    string[]
    Description

    Array of image URLs from the article.

  • Name
    countries
    Type
    string[]
    Description

    Array of country codes in ISO 3166-1 alpha-2 format. E.g. ["US", "GB"]. Can be empty.

  • Name
    categories
    Type
    string[]
    Description

    Array of article categories. Possible values: markets | economy | business | politics | geopolitics | regulation | technology | energy | commodities | crypto | health | climate | security. Can be empty.

  • Name
    companies
    Type
    Company[]
    Description

    Array of matched company objects resolved by AI entity matching. Each company contains the following fields:

    • companyId number — internal finlight company identifier
    • confidence string — entity match confidence score
    • name string — full company name
    • ticker string — primary ticker symbol. E.g. AAPL
    • exchange string — exchange code. E.g. XNAS
    • country string — country of primary listing (ISO 3166-1 alpha-2)
    • sector string — sector classification. E.g. Technology
    • industry string — industry classification
    • isin string — primary ISIN code
    • openfigi string — OpenFIGI identifier
    • primaryListing object{ ticker, exchangeCode, exchangeCountry }
    • isins string[] — all known ISINs for the company
    • otherListings object[][{ ticker, exchangeCode, exchangeCountry }]

WEBHOOKDelivery Type

Create an Enriched Webhook

When creating a webhook in the finlight dashboard, select Enriched as the delivery type in the first step of the setup wizard. This is the default option. The criteria step will show all available filter parameters.

Enriched Webhooks deliver only newly published articles that match your criteria. Each delivery is a single article payload sent as an HTTP POST request to your endpoint.

  • Name
    query
    Type
    string
    Description

    Search query to find relevant articles. Supports boolean operators and field-level filtering. See the Advanced Query Building guide.

  • Name
    sources
    Type
    string[]
    Description

    Limit delivery to articles from specific sources. E.g. ["www.reuters.com", "www.cnbc.com"].

  • Name
    excludeSources
    Type
    string[]
    Description

    Exclude articles from specific sources. E.g. ["www.example.com"].

  • Name
    language
    Type
    string
    Description

    Filter by article language. Language code in ISO 639-1. Defaults to en when not set.

  • Name
    tickers
    Type
    string[]
    Description

    Filter by stock ticker symbols. Only articles matched to these companies by AI entity resolution will be delivered. E.g. ["AAPL", "GOOGL", "TSLA"].

  • Name
    countries
    Type
    string[]
    Description

    Filter by country codes (ISO 3166-1 alpha-2). Only articles matched to companies from these countries will be delivered. E.g. ["US", "GB", "DE"].

  • Name
    categories
    Type
    string[]
    Description

    Filter by article category. Possible values: markets | economy | business | politics | geopolitics | regulation | technology | energy | commodities | crypto | health | climate | security.

  • Name
    includeContent
    Type
    boolean
    Description

    Include the full article body text in the payload. Requires a plan with full article access.

  • Name
    includeEntities
    Type
    boolean
    Description

    Include extracted entities (companies, people, locations) found in the article.

  • Name
    excludeEmptyContent
    Type
    boolean
    Description

    Only deliver articles that have a non-empty summary. Useful for filtering out low-quality articles.

Response

{
  "link": "https://www.example.com/article1",
  "source": "www.example.com",
  "title": "Stock Market Hits New Highs",
  "summary": "A brief summary of the article...",
  "publishDate": "2023-10-01T12:34:56Z",
  "language": "en",
  "sentiment": "positive",
  "confidence": 0.95,
  "images": [
    "https://www.example.com/image1.jpg",
    "https://www.example.com/image2.jpg"
  ],
  "countries": ["US"],
  "categories": ["markets", "health"],
  "companies": [
    {
      "companyId": 41494,
      "confidence": "0.9335401058197021",
      "country": "US",
      "exchange": "XNAS",
      "industry": "Biotechnology: Pharmaceutical Preparations",
      "name": "Summit Therapeutics Inc. Common Stock",
      "sector": "Health Care",
      "ticker": "SMMT",
      "isin": "US86627T1088",
      "openfigi": "BBG01PH11VP5",
      "primaryListing": {
        "ticker": "SMMT",
        "exchangeCode": "XNAS",
        "exchangeCountry": "US"
      },
      "isins": ["US86627T1088", "US86627T2088"],
      "otherListings": [
        {
          "ticker": "SMMT.L",
          "exchangeCode": "XLON",
          "exchangeCountry": "GB"
        }
      ]
    }
  ]
}

EXAMPLESCombined Filters

Filtering Examples

Enriched Webhooks support combining all filter parameters. Here are common patterns:

Company research feed:

tickers: ["AAPL", "GOOGL"]
sources: ["www.reuters.com", "www.bloomberg.com"]
includeEntities: true

Breaking market news:

query: "earnings OR revenue OR guidance"
categories: ["markets", "economy"]
language: "en"

Regional sector focus:

countries: ["US", "CA"]
query: "tech OR technology OR semiconductor"
tickers: ["NVDA", "TSMC", "AMD"]

European financial news:

countries: ["GB", "DE", "FR"]
sources: ["www.reuters.com", "www.ft.com"]
language: "en"

Query syntax supports boolean operators, quoted phrases, and exclusion:

"Apple earnings"                           simple phrase
(Apple OR iPhone) AND (earnings OR revenue)  boolean groups
Tesla NOT recall                           exclusion

See the Advanced Query Building guide for the full query syntax reference.


GUIDEDecision Help

When to Use Enriched Webhooks

Choose Enriched when you:

  • Need company/ticker-level filtering (tickers, countries, categories)
  • Want sentiment scores, confidence values, or entity resolution in the payload
  • Need to include full article content or extracted entities via includeContent / includeEntities
  • Are building equity monitoring, earnings tracking, or sector-specific news feeds

Choose Raw when you:

  • Need the lowest possible delivery latency
  • Are building a high-throughput pipeline where enrichment data is not required
  • Only need to filter by keywords, sources, or language
  • Want a leaner payload to reduce processing overhead on your end

For full details on Raw Webhook filtering options, see the Raw Webhooks guide.