CRISIS INTELLIGENCE
Generally availableCrisis indicators your analysts can act on before the news cycle catches up.
Conflict, displacement, and humanitarian signals across 650 labels and 21 languages - including Ukrainian, Russian, Hebrew, and Turkish, the languages crises actually unfold in.
650 labels · 21 languages · p95 target <500ms · Every result reproducible
Re-run with the same pinned version → identical result
What this analyzer does and doesn't do
- Detect conflict, displacement, and humanitarian signals in text
- Cover 21 languages - including Ukrainian, Russian, Hebrew, and Turkish
- Return ranked, source-citable signals for analyst prioritization
- ✕Verify whether a reported event actually happened
- ✕Pinpoint incident locations or confirm casualty figures
- ✕Access satellite, imagery, or signals intelligence
- ✕Determine legal responsibility for violations
Sentiqra returns structured signals. Your policy, reviewers, and models make the decision. See the full boundary statement →
WHAT YOU'LL DETECT
The specific crisis signal - not a generic "bad news" score.
Threat & Security
shelling
“Artillery hit the market district overnight” → very high
Migration & Displacement
mass_displacement
“Thousands crossed the border this morning” → very high
Conflict & Violence
bombing
“The power station was struck again” → high
Humanitarian Crisis
humanitarian_access
Detected - example withheld
Action & Mobilisation
protest
Detected - example withheld
Looking for propaganda techniques? That's Disinformation Analysis.
86.7% – 96.7% Production Top-3 Hit Rate across 21 languages.
Benchmarks vary by language - the range above is the honest spread, not the best case. Top-3 Hit Rate means the expected label appears among the 3 highest-confidence signals returned; it measures ranking quality, not whether a thresholded accept/reject decision was right.
WHERE IT GETS USED
Three jobs this analyzer does well.
Border and displacement monitoring
A humanitarian coordination team monitors multilingual reporting around an active border. Displacement-movement and aid-access signals surface in near-real time, so field coordination decisions rest on structured events instead of whoever happened to be reading the feed.
Fit signals: multilingual sources · time-critical triage · NGO/humanitarian ops
OSINT feed filtering
An analyst team facing a hundred-thousand-item multilingual daily stream filters it to the signals worth a human's attention - shelling reports, infrastructure strikes, civil unrest - with the config ID stored so any prioritization decision can be replayed and defended later.
Fit signals: high-volume feeds · analyst scarcity · audit-grade filtering
Post-crisis program evaluation
A program office reproduces the exact signal history that drove resource decisions months earlier. The stored configuration ID replays identical results - the after-action report describes what the system actually saw, not what a newer model would see today.
Fit signals: donor reporting · after-action review · reproducibility obligations
Send field text. Get crisis signals + a receipt.
POST /v1/analyze
Authorization: Bearer sq_live_your_api_key_here
{
"text": "Shelling hit the market district overnight; families are moving toward the border crossing.",
"language": "uk",
"analyzers": ["crisis-intelligence"]
}
{
"language": "en",
"signals": [
{ "analyzer": "crisis-intelligence", "code": "humanitarian_migration", "label": "Humanitarian Migration", "score": 0.9, "confidence": "very_high", "level": "category" },
{ "analyzer": "crisis-intelligence", "code": "humanitarian_access", "label": "Humanitarian Access", "score": 0.9, "confidence": "very_high", "level": "label", "parent": "humanitarian_migration" },
{ "analyzer": "crisis-intelligence", "code": "displacement", "label": "Displacement", "score": 0.9, "confidence": "very_high", "level": "label", "parent": "humanitarian_migration" }
],
"meta": { "analyzers": [{ "name": "crisis-intelligence", "status": "completed", "signal_count": 3, "billed": true }], "partial": false },
"usage": { "analyzer_runs": 1, "billed": true },
"verification": {
"configuration": "sqcfg_EMKKGD6F",
"fingerprint": "fp_8a72...19f",
"input_commitment": "ic_31bd...a42",
"signature": "sig_ed25519_4c1f...e2a"
}
}
READING THE OUTPUT
What a Crisis Intelligence result tells you - and what it doesn't.
Intended task
Classify crisis-related text - field reports, news copy, public posts - into documented analysis groups covering displacement, humanitarian need, governance, and information dynamics.
Input requirements
text- the only field analyzed; up to 4,096 Unicode code points. Over the limit is rejected withinput_too_long, never truncated.language- must be a language this analyzer supports. Unsupported codes are rejected with400 unsupported_language, never analyzed as a different language.analyzers- include"crisis-intelligence"; up to 2 analyzers per request, one billed run each.- No context beyond
text- no user IDs, history, profiles, or attachments are read or inferred. - Single texts, not streams - correlation across sources is your pipeline's job.
Ordinary positive
“Roughly 400 families crossed the border overnight after shelling cut the bridge; the reception camp has run out of tents.”
Safe inference: The text describes displacement and humanitarian need in the documented language of those categories. Route it to the monitoring desk for that region.
Confusing negative · Reported speech
“Officials claimed 400 families crossed the border overnight, but journalists at the crossing reported no movement and no new arrivals.”
What happens: Migration and displacement signals can still fire: the text describes the event in the documented vocabulary even though it disputes it. The analyzer reads language - it does not adjudicate whether the event happened.
Why it's tricky: Text describing an event is not verification that the event occurred. Denials, debunks, and contested claims can match the same categories as genuine reports - use signals to triage reading volume, then verify through your sources.
What you can safely infer
- Which documented analysis groups and indicators the text matched.
- That a high band means the text strongly matches the documented language of the category - useful for triage order.
What you must not infer
- ✕That the described event is verified, current, or correctly attributed.
- ✕Casualty or displacement figures as facts - they are claims made in the text.
- ✕That absent signals mean no crisis - coverage depends on the documented taxonomy and the language of the report.
Boundary: Signals describe text, not events. A displacement or conflict signal means the text uses the documented language of that event type - it is not independent verification that the event occurred, and it carries no validation of figures, dates, or attribution.
Crisis Intelligence is on every plan. Even Free.
Free
5,000 runs/mo
Build
$149/mo · 50,000 runs/mo
Growth
$349/mo · 150,000 runs/mo
Production
$799/mo · 500,000 runs/mo
Scale
$2,999/mo · 2,500,000 runs/mo
Enterprise
By agreement · SOC 2 Type II in progress
Deterministic by construction, provable by receipt.
A signed verification receipt - configuration ID (sqcfg_...), result fingerprint (fp2_...), input commitment (ic3_...), and Ed25519 signature (sig_ed25519_...) - ships with every successful analysis result. Pin it to the stored decision and a later replay under the same supported configuration and output profile yields the identical canonical result - the difference between "the model said so" and evidence.
Where it fits in your workflow
Often paired with: Disinformation for manipulation techniques in crisis reporting, Cybersecurity for conflict-adjacent threat signals, Emotion Analysis for population-sentiment tracking.
Used in: Crisis & OSINT Intelligence
Point it at a live feed.
5,000 analyzer runs/month · No card required
Analyzer FAQ
New to Sentiqra? It's a deterministic text-analysis API - you send text, you get labeled, confidence-scored signals plus a replayable receipt. Crisis Intelligence is the migration & crisis indicator detection analyzer.
What does Crisis Intelligence detect?
Detect crisis, displacement, conflict, humanitarian, governance, and information-environment signals.
Which languages does it cover?
21 supported languages, each with a published per-language benchmark. Coverage is per-analyzer, not platform-wide - check the language list on this page before assuming parity with other analyzers.
How do I call it?
POST /v1/analyze with "analyzers": ["crisis-intelligence"]. Same endpoint, auth, and response shape as every other analyzer - you can pair it with one more analyzer in the same request.
What does a call cost?
One analyzer run per call, billed against your plan's included runs (overage per plan). All GA analyzers are on every plan, including Free - see pricing.
How do I evaluate it on my data?
Label a few hundred of your own examples, run them through the free tier, and compare our signals to your labels. The evaluation playbook walks through building that test set - it's the same method we use internally.