Enriched Webhooks
Enriched Webhooks deliver AI-processed article data with company entity resolution, sentiment analysis, and the full set of filtering options.
Key capabilities of Enriched Webhooks:
- Full filtering — filter by tickers, countries, categories, sources, language, and query
- AI enrichment — payloads include sentiment scores, company matches, and confidence values
- Flexible content — optionally include full article text and extracted entities via
includeContent/includeEntities - Immutable type — the delivery type (
enrichedorraw) is set at creation and cannot be changed afterwards
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
0and1.
- 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:
companyIdnumber— internal finlight company identifierconfidencestring— entity match confidence scorenamestring— full company nametickerstring— primary ticker symbol. E.g.AAPLexchangestring— exchange code. E.g.XNAScountrystring— country of primary listing (ISO 3166-1 alpha-2)sectorstring— sector classification. E.g.Technologyindustrystring— industry classificationisinstring— primary ISIN codeopenfigistring— OpenFIGI identifierprimaryListingobject—{ ticker, exchangeCode, exchangeCountry }isinsstring[]— all known ISINs for the companyotherListingsobject[]—[{ ticker, exchangeCode, exchangeCountry }]
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
enwhen 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"
}
]
}
]
}
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.
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.