← Return

TRUTH SEEKER API

Programmatic Access to Text Analysis for 67+ Manipulation Tactics

🚀 Getting Started

The Truth Seeker API allows developers to analyze text for manipulation tactics programmatically. Submit any text—news articles, social posts, speeches, marketing copy—and receive a detailed breakdown of detected maniptics.

Base URL: https://goms.life.repl.co
✅ No API Key Required! The API is currently open and rate-limited by IP address for fair usage.

📋 Endpoint: Analyze Text

POST /analyze

Analyzes text for 67+ manipulation tactics and returns a comprehensive breakdown with scores, explanations, and warnings.

Request Parameters

Parameter Type Required Description
text string Required The text content to analyze. Maximum 10,000 characters.

Request Example (cURL)

Bash / cURL
curl -X POST https://goms.life.repl.co/analyze \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Breaking: Experts agree this is the most dangerous threat we have ever faced. Everyone is talking about it. If you care about your children, you must act now!"
  }'

Request Example (JavaScript/Fetch)

JavaScript
const response = await fetch('https://goms.life.repl.co/analyze', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    text: 'Breaking: Experts agree this is the most dangerous threat we have ever faced...'
  })
});

const result = await response.json();
console.log(result);

Request Example (Python)

Python
import requests

url = "https://goms.life.repl.co/analyze"
payload = {
    "text": "Breaking: Experts agree this is the most dangerous threat..."
}

response = requests.post(url, json=payload)
result = response.json()
print(result)

Response Structure

JSON Response
{
  "totalScore": 75.8,
  "interpretation": "Heavy manipulation detected",
  "constitutionalWarning": null,
  "metrics": {
    "tacticsTriggered": 8,
    "totalInstances": 23,
    "averageIntensity": 7.2,
    "mlu": 85.4,
    "mdq": 85.4,
    "wordCount": 25,
    "totalSeverity": 10.7
  },
  "breakdown": {
    "fearMongering": {
      "score": 8,
      "count": 3,
      "flaggedPhrases": ["most dangerous threat", "act now"],
      "impact": "...",
      "counterstrategy": "..."
    },
    "bandwagon": {
      "score": 6,
      "count": 2,
      "flaggedPhrases": ["everyone is talking"],
      "impact": "...",
      "counterstrategy": "..."
    }
  }
}

Response Fields

Field Type Description
totalScore number Overall manipulation score (0-100). Sophisticated multi-factor algorithm considering intent, breadth, severity, and volume. Higher = more manipulation detected.
interpretation string Human-readable interpretation of the score (e.g., "Minimal bias detected", "Heavy manipulation detected")
constitutionalWarning object | null Warning object if foundational attacks detected (Rights Inversion, Republic vs Democracy shifts, Consensus over Reason)
metrics object Detailed metrics object containing:
tacticsTriggered number Number of manipulation tactics detected
totalInstances number Total count of all flagged phrases/words across all tactics
averageIntensity number Average severity score of detected tactics (0-10 scale)
mlu number NEW! Manipulation Density Score (0-100). Capped version of MDQ for standardized comparisons
mdq number NEW! Manipulation Density Quantity (uncapped). Raw calculation showing true saturation level. Formula: (totalSeverity / wordCount) × 200. Can exceed 100 for extremely dense manipulation
wordCount number NEW! Total word count in analyzed text (used to calculate MLU)
totalSeverity number NEW! Sum of all tactic severity scores (0-10 each). Used to calculate MLU. Higher = more severe manipulation detected
breakdown object Detailed breakdown object with each detected tactic showing score, count, flagged phrases, impact, and counterstrategy

📊 Understanding the Scores

totalScore vs MLU - What's the Difference?

totalScore (0-100): Sophisticated multi-factor analysis

MLU - Manipulation Density (0-100): Capped concentration metric

MDQ - Manipulation Density Quantity (uncapped): True saturation level

Use Cases:

⚡ Rate Limits

Rate Limit: 10 requests per minute per IP address

When rate limit is exceeded, you'll receive a 429 status code with a Retry-After header indicating seconds to wait.

Rate Limit Response Example

JSON Error
{
  "detail": "Rate limit exceeded. Try again in 45 seconds."
}

🚨 Error Codes

Status Code Error Description
400 Bad Request Missing or invalid text parameter
422 Validation Error Text exceeds 10,000 character limit
429 Rate Limit Exceeded Too many requests. Check Retry-After header
500 Internal Server Error Server error during analysis. Please retry

🔍 Detected Maniptics Categories

The API currently detects 67+ manipulation tactics across these categories:

💡 Use Cases

Educational Tools

Build classroom applications that teach students to recognize manipulation in real-time

Media Monitoring

Analyze news feeds, social media posts, or press releases for manipulative content

Content Moderation

Screen user-generated content for manipulation tactics before publication

Research Projects

Conduct large-scale studies on manipulation patterns in different media sources

Browser Extensions

Create plugins that analyze articles as users browse the web

Chatbot Integration

Add manipulation detection to AI assistants and chatbots

📞 Support & Feedback

Questions or feedback about the API? Found a bug or have a feature request?

⚖️ Usage Terms: This API is provided for educational and research purposes. By using this API, you agree to: