In development
Private beta · Structured financial data

The signal is already public.
It just isn't structured.

Prices move on public information. Getting it into a system that can act on it is still largely a manual problem. Flare is building the layer that fixes that.

Join the early access list

or

Early access

© 2026 Flare Data Ltd hello@flareapi.co.uk
Live · Global regulatory signals

Regulatory disclosures,
structured and queryable

Financial markets generate hundreds of thousands of regulatory disclosures each year — across exchanges, indices, and jurisdictions. All of it unstructured prose. Flare is the classification layer that turns disclosure events into clean, queryable data.

2,000+
LSE-listed companies
18 types
Disclosure classifications
<5min
Latency from RNS publication
18 types
Event classifications

Every material disclosure. One structured schema.

Regulatory announcements across equity markets share the same problem: unstructured prose, inconsistent categories, no queryable metadata. Flare resolves this — normalising disclosure events into a single typed schema, anchored to a canonical company record.

FTSE 100
100
Large cap · Full depth
FTSE 250
250
Mid cap · Full depth
FTSE SmallCap + AIM
900+
Growth & small cap · Full depth
INTERNATIONAL
+
Euronext · ASX · SGX
🏢
Company master
2,000+ Listed Entities
Every LSE-listed company mapped to a canonical record: ISIN, ticker, exchange segment, ICB sector, market cap band, index membership. The foundation all events are anchored to.
📄
Raw disclosures
Unstructured Regulatory Text
~350,000 regulatory announcements per year. Published as unstructured prose with minimal machine-readable metadata. No consistent schema. No queryable structure. This is the problem Flare solves.
🧠
Classification layer
Structured Event Schema
Each disclosure resolved to a typed event record: event_type, severity, reason_primary, guidance_delta, summary, confidence. 18 classifications. Consistent, versioned, queryable.
Your application
REST API + Webhooks
Query by ticker, ISIN, event type, severity, date range, or sector. Receive webhooks on new events in real time. The same data in every response, every time — no parsing required.

UK Profit Warnings

Updating live
Date Company Ticker Event type Severity Primary reason Summary Source
Loading live events...

A structured data layer on top of regulatory noise

Three interconnected systems — entity resolution, continuous classification, and event enrichment — running in parallel to produce a single queryable record per announcement.

INPUT LAYER Unstructured regulatory text · ~350,000 items/year · Multiple announcement categories
Trading Update
Business Conditions
Half-year Results
Director/PDMR Shareholding
Interim Mgmt Statement
Miscellaneous
Rule 2.7 Announcement
AGM Statement
Total Voting Rights
Board Change
RAW TEXT
"The Board of Nexus Industrial plc announces that following a review of current trading conditions, and given the ongoing macroeconomic headwinds in the Group's principal markets, revenues for the year to 31 December 2025 are now expected to be materially below current market expectations..."
Entity
Resolution
Dedup +
Linking
NLP
Classify
Confidence
Scoring
Schema
Enrichment
Company master · 2,000+ records
isinGB00BJ1F4N75
tickerNXT
indexFTSE100
sectorGeneral Retailers
mcap_bandlarge
subsidiaries[ 14 entities ]
name_variants[ 6 aliases ]
Resolved against every event. Handles corporate actions, name changes, delistings.
STRUCTURED OUTPUT Single canonical event record · Versioned schema · Sub-5min latency
Identity
event_id"evt_01j9x..."
company_isin"GB00BK1PTB77"
ticker"NEXS"
announced_at"2026-03-13T07:02Z"
Classification
event_type"profit_warning"
severity"high"
is_materialtrue
confidence0.96
Cause extraction
reason_primary"macro_headwinds"
reason_secondary"revenue_miss"
guidance_delta"negative"
vs_expectations"materially_below"
Context
index"FTSE250"
sector"Industrial Support"
summary"Full-year revenues..."
source_url"https://..."
18 event classifications
profit_warning
guidance_downgrade
trading_update
results_interim
results_full_year
director_buy
director_sell
share_buyback
ma_approach
ma_completion
board_change
agm_result
rights_issue
dividend_change
regulatory_action
contract_win
debt_restructure
other_material

From disclosure to alpha

Structured event data is only useful if it changes a decision. Three examples of how Flare data feeds into real investment workflows.

01 · RNS PUBLISHED
Nexus Industrial plc · NEXS 07:02 · 13 Mar 2026
"The Board announces that revenues for the year ending 31 December 2025 are expected to be materially below current market expectations. The deterioration has been driven primarily by a significant slowdown in order intake across the Continental European division in Q4, compounded by ongoing macroeconomic headwinds..."
Flare classifies
0.0s
02 · FLARE STRUCTURED EVENT
{
"event_type": "profit_warning",
"severity": "high",
"is_material": true,
"reason_primary": "revenue_miss",
"reason_secondary": "demand_weakness",
"guidance_delta": "materially_below",
"geography": "continental_europe",
"confidence": 0.97,
"ticker": "NEXS",
"index": "FTSE250",
"sector": "Industrial Support"
}
Webhook fires
to strategy
03 · MODEL RESPONSE
Event-driven strategy · NEXS
Signal
SHORT
Severity wt
1.0×
Confidence
PASS 0.97
Triggerseverity=high + guidance_delta=materially_below
Sector scanChecking contagion in Industrial Support peers
Position−2.4% portfolio weight · stop at +8%
Alert sent07:02:38 · 38s after RNS publication
Without structured data: analyst reads PDF at 07:45. Desk acts at open. 43-minute alpha gap closed.

Clean JSON. Versioned. Predictable.

Authenticate with your API key in the header. All responses are JSON. Rate limits depend on your tier.

GET /v1/warnings GET
// Request
GET /v1/warnings
  ?from=2025-01-01
  &index=FTSE250
  &severity=material
  &limit=20

Authorization: Bearer fk_live_xxx

// Response
{
  "data": [
    {
      "id": "warn_01j8x2k...",
      "company": "Fevertree Drinks",
      "ticker": "FEVR",
      "index": "FTSE250",
      "announced_at": "2025-03-12T08:14:00Z",
      "severity": "material",
      "reason_primary": "demand_weakness",
      "reason_detail": "US on-trade volumes
        deteriorated sharply in H2",
      "confidence": 0.97,
      "rns_url": "https://..."
    }
  ],
  "meta": {
    "total": 284,
    "page": 1,
    "limit": 20
  }
}
GET /v1/company/{ticker}/warnings GET
// Get all warnings for a company
GET /v1/company/FEVR/warnings

// Response
{
  "company": {
    "name": "Fevertree Drinks plc",
    "ticker": "FEVR",
    "isin": "GB00B3FLWH99",
    "index": "FTSE250",
    "sector": "Beverages"
  },
  "warning_count": 4,
  "last_warning": "2025-03-12",
  "warnings": [
    { "id": "warn_01j8x2k", ... },
    { "id": "warn_01h4m9p", ... }
  ]
}
POST /v1/webhooks POST
// Register webhook (Professional+)
POST /v1/webhooks
{
  "url": "https://your-app.com/hook",
  "filters": {
    "index": ["FTSE100", "FTSE250"],
    "severity": ["material"],
    "min_confidence": 0.90
  }
}

// Payload fired on each match:
{
  "event": "warning.classified",
  "data": { ... },
  "classified_at": "2025-03-12T08:17:22Z",
  "latency_seconds": 187
}
D1 Database Schema SQL
-- Core warnings table
CREATE TABLE warnings (
  id          TEXT PRIMARY KEY,
  rns_id      TEXT UNIQUE,
  ticker      TEXT,
  company     TEXT,
  isin        TEXT,
  index_name  TEXT,
  announced_at DATETIME,
  raw_text    TEXT,

  -- Classification (populated by Claude)
  is_warning  BOOLEAN,
  confidence  REAL,
  severity    TEXT,
  reason_primary TEXT,
  reason_detail  TEXT,
  classified_at  DATETIME,

  -- Flags
  needs_review BOOLEAN DEFAULT false
);

Simple, transparent tiers

Free tracker for everyone. API access starts at £79/month. No enterprise sales motion required.

Free
£0
forever
  • Full live tracker, no login
  • 30-day rolling history
  • All filters and search
  • Source links to RNS
  • No API access
Professional
£299
per month
  • Everything in Developer
  • 3-year historical archive
  • Unlimited API calls
  • Real-time webhooks
  • Priority support + SLA

Every LSE-listed company. Every material disclosure.

Flare monitors all four UK equity market segments. Events from every listed entity anchored to a canonical company record with stable ISIN, ticker, index membership, and sector classification.

FTSE 100
100
Large cap · Full depth
FTSE 250
250
Mid cap · Full depth
FTSE SmallCap + AIM
900+
Growth & small cap · Full depth
International
+
Euronext · ASX · SGX
profit_warning
guidance_downgrade
trading_update
results_interim
results_full_year
director_buy
director_sell
share_buyback
ma_approach
ma_completion
board_change
agm_result
rights_issue
dividend_change
regulatory_action
contract_win
debt_restructure
other_material

Four-layer processing pipeline

From unstructured regulatory prose to typed, queryable event record — four stages, running continuously.

01
Company master
2,000+ canonical entity records. ISIN, ticker, index, sector, market cap band, subsidiaries and name variants. All events anchored here.
company {
  isin: "GB00BJ1F4N75",
  ticker: "NXT",
  index: "FTSE100",
  sector: "General Retailers",
  subsidiaries: [ 14 entities ],
  name_variants: [ 6 aliases ]
}
02
Continuous ingestion
Announcements captured within minutes of regulatory publication. Deduplicated and linked to canonical company record before classification queued.
announcement {
  rns_id: "RNS-4821-0313",
  company_isin: "GB00BJ1F4N75",
  published_at: "2026-03-13T07:02:11Z",
  raw_category: "Trading Update",
  full_text: "..."
}
03
Multi-pass classification
Full text parsed across 18 event types. Pass 1: event type and materiality. Pass 2: cause extraction, severity, guidance delta, summary. Confidence scored — low-confidence withheld pending review.
pass_1: event_type, is_material
pass_2: severity, reason_primary,
        guidance_delta, summary

confidence_threshold: 0.85
low_confidence → review_queue
04
Delivery
Classified events available via REST API within 5 minutes of publication. Webhook push to subscribed endpoints on every new event. Versioned schema.
latency_target: <5min from publication
webhook: per-event push
api_schema: semver, backwards-compatible
uptime_sla: 99.9%

Consistent objects, every response

Every API response returns the same typed objects. Schema is versioned — breaking changes are never introduced without a version increment.

Event CORE OBJECT
event_id string
Unique event identifier. Stable across schema versions. Format: evt_[ulid]
event_type enum
Classification of the disclosure event.
profit_warningguidance_downgradetrading_updateresults_interimdirector_buyma_approach+ 12 more
severity enum
Materiality assessment of the event.
highmediumlow
is_material boolean
Whether the event is classified as price-sensitive / material under MAR.
reason_primary enum
Primary extracted cause of the event.
demand_weaknesscost_inflationrevenue_missmacro_headwindsvolume_decline+ 12 more
guidance_delta enum
Direction and magnitude of guidance change relative to prior expectations.
materially_belowbelowslightly_belowin_lineabovematerially_above
confidence float
Classification confidence score 0–1. Events below 0.85 are withheld pending review.
company object
Nested company record. Fields: isin, ticker, name, index, sector, mcap_band.
announced_at datetime
ISO 8601 timestamp of regulatory publication. UTC.
classified_at datetime
Timestamp of Flare classification. Typically within 5 minutes of announced_at.
summary string
One to two sentence plain-language summary of the event, generated alongside classification.
source_url string
Direct URL to the original regulatory announcement.

REST API · v1

Base URL: https://api.flareapi.co.uk/v1  ·  All responses JSON  ·  Auth via Bearer token

GET /events List classified events with filters
// Query parameters
ticker string  // e.g. NXT, TSCO
isin string  // e.g. GB00BJ1F4N75
event_type enum  // profit_warning | director_buy | ...
severity enum  // high | medium | low
index enum  // FTSE100 | FTSE250 | FTSE_SMALLCAP | AIM
sector string  // ICB sector name
from date  // ISO 8601
to date
limit int  // default 20, max 100
cursor string  // pagination cursor
GET /events/:id Single event by ID
// Returns full Event object including summary, source_url, and company record
GET /companies List companies in the master
index enum  // filter by index
sector string  // filter by ICB sector
search string  // name or ticker search
POST /webhooks Register a webhook endpoint
// Body
{
  "url": "https://your-endpoint.com/flare",
  "filters": {
    "event_type": ["profit_warning", "guidance_downgrade"],
    "severity": ["high", "medium"],
    "index": ["FTSE100", "FTSE250"]
  }
}

Signal before consensus forms

A profit warning is a structured event. Severity, cause, guidance delta — all queryable fields. Feed them directly into a position sizing model via webhook, not a morning briefing.

01 · RNS published 07:02
Nexus Industrial · NEXS07:02:00
"revenues for the year ending 31 December 2025 are expected to be materially below current market expectations. The deterioration has been driven primarily by a significant slowdown in order intake across the Continental European division in Q4..."
classified
in 38s
02 · Flare event 07:02:38
"event_type": "profit_warning",
"severity": "high",
"guidance_delta": "materially_below",
"reason_primary": "revenue_miss",
"reason_secondary": "demand_weakness",
"geography": "continental_europe",
"confidence": 0.97
webhook
fires
03 · Strategy response
Event-driven · NEXS
Signal
SHORT
Weight
1.0×
Gate
PASS
Triggerseverity=high + materially_below
Position−2.4% weight · stop +8%
Latency38s from RNS · 43min before open
Without Flare: analyst reads at 07:45, desk acts at open. 43-minute alpha gap closed.

From 14 events to a structural view

Query all profit warnings in a sector over 6 months, grouped by primary cause. The pattern — demand weakness at 64% — isn't visible from individual PDFs. It emerges only when the cause field is structured and queryable.

Query
GET /v1/events
  ?event_type=profit_warning
  &sector=consumer_discretionary
  &index=FTSE250
  &from=2025-10-01
  &severity=high,medium
  &group_by=reason_primary
Cause breakdown · 14 events
demand_weakness
64%
cost_inflation
21%
macro_headwinds
15%
Demand weakness is systemic across the sector. Structural short view, not individual stock risk.
14 events · Oct 2025 – Mar 2026
CompanyDateSevCauseGuidance
Watches of SwitzerlandFeb 14HIGHdemand_weaknessmat. below
Gym GroupJan 28HIGHcost_inflationbelow
Currys plcJan 09MEDvolume_declinesl. below
Card FactoryDec 18HIGHmacro_headwindsmat. below
+ 10 more events

Contagion flags before morning brief

When a holding warns, Flare flags it immediately. When a sector peer shares the same primary cause, that's flagged too — a contagion signal only possible with structured cause extraction.

Portfolio · 12 holdings
TickerIndexSectorWtStatus
NEXSFTSE250Industrial4.2%⚠ WARNING
MXCTFTSE250Industrial3.1%≈ PEER RISK
NXTFTSE100Retail6.8%✓ CLEAR
TSCOFTSE100Food Retail5.5%✓ CLEAR
FEVRFTSE250Beverages2.9%✓ CLEAR
+ 7 more
Risk flags · generated 07:03
CRITICALNEXS · Nexus Industrial
profit_warning · severity HIGH · guidance_delta materially_below. Direct holding at 4.2% portfolio weight.
Review positionCheck stop-lossSource RNS
WATCHMXCT · Maxcut Technologies
Sector peer of NEXS in Industrial Support. Same reason_primary: demand_weakness. Not yet warned — contagion probability elevated based on 6-month sector pattern.
Monitor closelySector exposure: 7.3%
Contagion flag only possible with structured cause extraction — not available from raw RNS text.

Embed structured events in your product

If you're building a financial platform — data terminal, research tool, brokerage app — Flare gives you a structured events layer via API without building or maintaining the classification pipeline yourself.

📊
Research & data terminals
Add a structured profit warning and corporate event feed to your terminal. Filter by sector, severity, cause. Queryable by ISIN or ticker. No RNS parsing required.
GET /events?ticker=FEVR&event_type=profit_warning
Filter to high-severity warnings in your coverage universe
Display cause + guidance delta alongside price data
🔔
Brokerage & investment apps
Surface profit warnings to users holding affected stocks. Webhook delivery means the alert reaches your app within minutes of the RNS — before the market opens, not after.
Webhook fires on severity=high within seconds of publication
Push notification: "NEXS issued a profit warning"
In-app event card with cause, summary, source link
🤖
Quantitative & systematic tools
A clean, consistent event schema means you can backtest on historical warnings without rebuilding the classification logic. Query by any combination of cause, severity, sector, or index.
GET /events?from=2023-01-01&event_type=profit_warning
reason_primary as a factor in systematic models
Consistent schema back to launch — no format changes
📰
Media & financial intelligence
Automate monitoring of profit warnings across 2,000+ listed companies. Get structured output — not raw text — that feeds directly into editorial workflows, newsletters, or data products.
Webhook on any FTSE 100 or 250 profit warning
Structured summary field ready for editorial use
Sector aggregation: warnings by industry per quarter