Disinformation & Manipulation API
Detect manipulation signals in text - not political truth.
The Disinformation & Manipulation API classifies submitted text against 200 indicators across 6 manipulation groups in 16 supported languages.
Use the results to enrich integrity review, research, moderation, and analyst workflows.
POST /v1/analyze · REST · JSON · Bearer authentication
Scope
Sentiqra analyzes signals contained in the text you submit. It does not independently determine whether a political claim is true, whether a source is credible, whether accounts are coordinated, or whether an image, audio clip, or video is synthetic.
Make your first request
curl -X POST https://sentiqra.tech/v1/analyze \
-H "Authorization: Bearer $SENTIQRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Share this everywhere before they delete it. An anonymous source says every major outlet is hiding the story.",
"language": "en",
"analyzers": [
"disinformation"
]
}'
Example response:
{
"language": "en",
"language_source": "declared",
"signals": [
{
"analyzer": "disinformation",
"code": "manipulation_coordination",
"label": "Manipulation & Coordination",
"score": 0.91,
"level": "category"
},
{
"analyzer": "disinformation",
"code": "urgency_amplification",
"label": "Urgency Amplification",
"score": 0.88,
"level": "label",
"parent": "manipulation_coordination"
}
],
"meta": {
"analyzers": [
{
"name": "disinformation",
"status": "completed",
"applicability": "analyzable",
"assessment": "signals_detected",
"signal_count": 2,
"billed": true
}
]
},
"usage": {
"analyzer_runs": 1
},
"verification": {
"configuration": "sqcfg_FRA3E88J",
"fingerprint": "fp_8a72...19f",
"input_commitment": "ic_31bd...a42",
"signature": "sig_ed25519_4c1f...e2a",
"key_id": "edk_af4f218e"
}
}
Don't have an API key? Generate one from the API Keys page in your dashboard.
Endpoint
/v1/analyze
Classifies manipulation-related signals in submitted text and returns ranked groups and indicators.
Request
{
"text": "Share this everywhere before they delete it. An anonymous source says every major outlet is hiding the story.",
"language": "en",
"analyzers": [
"disinformation"
]
}
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| text | string | Yes | - | Text to analyze |
| language | string | No | "en" | Supported language code |
Advanced parameters →
Related endpoints
GET /v1/meta/domains/disinformation
Identifier, availability, and endpoint for this analyzer. Send a Bearer API key for taxonomy summary and supported languages.
GET /v1/meta/domains
Lists all analyzers with identifiers, status, and endpoints - no authentication required. Send a Bearer API key for taxonomy size and language counts.
What the API can classify from text
Sentiqra can identify language associated with documented manipulation mechanisms such as:
Can classify from text
- • Rhetorical persuasion techniques
- • Emotional amplification
- • Polarizing language
- • Conspiracy framing
- • Scapegoating
- • Attribution patterns
- • Propaganda techniques
- • Unsupported or strongly asserted allegations
- • Information-integrity signals expressed in the text
Requires external evidence
- • Claim truth or falsity
- • Source authenticity
- • Coordinated-account behavior
- • Bot identity
- • Deepfake authenticity
- • Network amplification
- • Campaign attribution
- • Narrative propagation velocity
These are classification signals, not judgments about political viewpoint or factual truth. For cases requiring external evidence, Sentiqra can provide one textual evidence layer for your broader analysis.
What requires additional evidence
Some integrity conclusions cannot be established from an isolated text item.
Claim truth or falsity
Determining whether a claim is true generally requires external evidence, provenance, or fact-checking.
Source authenticity
Determining whether a source, quote, document, or attribution is genuine requires provenance evidence.
Coordinated influence
Coordination normally requires account, timing, network, behavioral, or campaign-level evidence.
Synthetic media
Deepfake or synthetic-media verification requires image, audio, video, or provenance analysis.
Narrative propagation
Virality and campaign evolution require state across multiple items and time.
Classification is not enforcement
A typical integrity workflow looks like:
Content
↓
Sentiqra manipulation signals
↓
Source / account / network / provenance context
↓
Human or policy review
↓
Customer-defined decision
Sentiqra supplies structured classification evidence. Your organization determines whether additional investigation, labeling, reduced distribution, enforcement, or no action is appropriate.
Response structure
groups
High-level manipulation categories (level: "category").
{
"analyzer": "disinformation",
"code": "manipulation_coordination",
"label": "Manipulation & Coordination",
"score": 0.91,
"level": "category"
}
signals
More specific indicators within each group (level: "label").
{
"analyzer": "disinformation",
"code": "urgency_amplification",
"label": "Urgency Amplification",
"score": 0.88,
"level": "label",
"parent": "manipulation_coordination"
}
parent
Category slug this label-level signal belongs to. Dotted form is group.label - e.g. manipulation_coordination.urgency_amplification means urgency_amplification sits under manipulation_coordination.
| Field | Type | Description |
|---|---|---|
| code | string | Stable machine identifier |
| label | string | Human-readable display name |
| parent | string | Parent category code (label-level only) |
| score | float | Signal-match strength (0.0–1.0) |
Signal scores
A score expresses signal-match strength under a particular analyzer configuration. It is not a probability that the signal or a downstream action is correct. Validate action thresholds on representative labeled data.
Paid API keys receive the continuous score (profile full.v1); anonymous, playground, demo, and free-tier responses return banded scores with a confidence band (profile reduced.v1). See Understanding signals for the profile and band table.
It does not represent:
- • Probability that a claim is false
- • Probability that a speaker is malicious
- • Political bias
- • Source credibility
- • Justification for an enforcement action
Confidence should determine evidence strength - not enforcement policy. Configure review thresholds according to indicator type, policy, context, and your own labeled evaluation data.
Your application decides what happens next.
200 indicators across 6 manipulation groups
The taxonomy is designed to describe mechanisms and signals, rather than political viewpoints. Groups may cover areas such as:
Deterministic classification
For the same normalized input evaluated against the same supported pinned configuration and output profile, Sentiqra returns the same canonical signals.
Version changes are explicit so historical and current analyzer behavior can be distinguished.
Supported languages
Disinformation Analysis currently supports 16 languages.
| Code | Language | Status |
|---|---|---|
| en | English | Production |
| fr | French | Production |
| es | Spanish | Production |
| de | German | Production |
| it | Italian | Production |
| nl | Dutch | Production |
| no | Norwegian | Production |
| pl | Polish | Production |
| uk | Ukrainian | Production |
| ru | Russian | Production |
| sv | Swedish | Production |
| fi | Finnish | Production |
| lv | Latvian | Production |
| lt | Lithuanian | Production |
| pt | Portuguese | Production |
| tr | Turkish | Production |
All languages this detector supports are enabled on every plan. Custom or restricted arrangements may scope language access - check the dashboard or GET /v1/account/entitlements for account-specific availability.
Detector does not support language → 400 unsupported_language
Detector supports language but the account is not entitled (restricted/custom arrangements only - GA plans include all supported languages) → 403 language_not_in_plan
Using Sentiqra for coordination analysis
Sentiqra does not independently discover coordinated networks from a single text request. Instead:
Content items
↓
Sentiqra technique classifications
↓
Your account + timestamp + network data
↓
Correlation / coordination analysis
Use Sentiqra's per-item manipulation signals as features in your own coordination-analysis layer.
Using Sentiqra with synthetic-media analysis
Sentiqra does not perform image, audio, or video forensics.
If another system identifies media as synthetic or suspicious, you can combine that provenance signal with Sentiqra's text classification in your downstream workflow.
Sentiqra can classify textual references to deepfakes and synthetic-media narratives. It does not verify whether media is actually synthetic.
Performance
Built for real-time integrity and moderation pipelines.
Published latency targets, not measured guarantees - measured snapshot figures are on the performance dashboard. Actual latency depends on network conditions, payload size, and load.
Errors, limits, and rate controls
The Disinformation API uses standard HTTP response codes:
| Code | Description |
|---|---|
| 400 | Invalid request |
| 401 | Authentication error |
| 403 | Access unavailable |
| 413 | Input too large |
| 429 | Rate or quota exceeded |
| 500 | Internal error |
| 503 | Temporary unavailability |
For retryable responses, follow documented backoff and Retry-After behavior.
| Header | Description |
|---|---|
| X-RateLimit-Limit | Max requests per second |
| X-RateLimit-Remaining | Remaining requests in current window |
| X-RateLimit-Reset | Unix timestamp when window resets |
Data handling
Sentiqra documents separately what crosses and remains within the service boundary:
Raw request content
Submitted text is processed in memory and not retained. No model training on your data.
Signal metadata
Individual signal results are not stored. Only aggregate counters are derived from them before the response is sent, apart from the bounded idempotency replay copy and webhook delivery payloads described in the retention schedule.
Operational metadata
Request status, key identifiers, latency, and billing information are logged for operational purposes.
Code examples
All examples use environment variables for API keys - do not hard-code keys in source.
curl -X POST https://sentiqra.tech/v1/analyze \
-H "Authorization: Bearer $SENTIQRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Share this everywhere before they delete it. An anonymous source says every major outlet is hiding the story.",
"language": "en",
"analyzers": [
"disinformation"
]
}'
Reading Disinformation Analysis output
What you can safely infer from a result - and what you must not.
Intended task
Flag documented manipulation techniques - fake authority, urgency amplification, conspiracy framing - present in a piece of text.
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"disinformation"; 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. - Analyzes the submitted text only - author identity, distribution, and source reputation are not inputs.
Ordinary positive
“They do not want you to see these numbers. Every official source is compromised - share this everywhere before it gets deleted.”
Safe inference: The text uses documented manipulation techniques. Queue it for review or downrank it per your integrity policy.
Confusing negative · Quotation
“The viral post claimed "every official source is compromised" - the audit released today shows the figures are real.”
What happens: Manipulation signals can still fire on the quoted claim. Debunks repeat the language they debunk - a signal marks the presence of a technique's vocabulary, not the author's side of the argument.
Why it's tricky: The analyzer detects techniques in text; it never decides which underlying claim is true. Fact-checkers, researchers, and journalists regularly produce text that matches - that is a routing signal, not an accusation.
What you can safely infer
- Which documented manipulation techniques appear in the text.
- That the same text on the same pinned configuration replays identically for your research record.
What you must not infer
- ✕That the author is running an influence operation - technique presence is not attribution.
- ✕That the underlying claim is true or false - truth adjudication is out of scope.
- ✕That text with no signals is trustworthy - a missing signal means "not detected," never "clean."
Boundary: Manipulation signals flag techniques in the text - they are not a verdict on which claim is true and not attribution of an operation.