{
  "name": "VeracityAPI",
  "description": "Content trust scoring API for text and image.",
  "homepage": "https://veracityapi.com",
  "api_base": "https://api.veracityapi.com",
  "openapi": "https://veracityapi.com/openapi.json",
  "llms_txt": "https://veracityapi.com/llms.txt",
  "llms_full_txt": "https://veracityapi.com/llms-full.txt",
  "methodology": "https://veracityapi.com/methodology",
  "trust_model": "https://veracityapi.com/methodology",
  "sitemap": "https://veracityapi.com/sitemap.xml",
  "docs": "https://veracityapi.com/docs",
  "tools": "https://veracityapi.com/tools",
  "docs_errors": "https://veracityapi.com/docs/errors",
  "performance": "https://veracityapi.com/docs/performance",
  "playground": "https://veracityapi.com/playground",
  "free_tools": {
    "style_editor": "https://veracityapi.com/tools/style-editor",
    "specificity_score_checker": "https://veracityapi.com/tools/specificity-score-checker",
    "unicode_evasion_scanner": "https://veracityapi.com/tools/unicode-evasion-scanner",
    "provenance_weakness_checker": "https://veracityapi.com/tools/provenance-weakness-checker",
    "stylometric_fingerprint": "https://veracityapi.com/tools/stylometric-fingerprint",
    "pattern_pressure_checker": "https://veracityapi.com/tools/pattern-pressure-checker",
    "rewrite_safety_checker": "https://veracityapi.com/tools/rewrite-safety-checker",
    "unsupported_claim_finder": "https://veracityapi.com/tools/unsupported-claim-finder",
    "rag_source_grounding_checker": "https://veracityapi.com/tools/rag-source-grounding-checker",
    "prompt_injection_detector": "https://veracityapi.com/tools/prompt-injection-detector",
    "llms_txt_generator": "https://veracityapi.com/tools/llms-txt-generator",
    "ai_citability_checker": "https://veracityapi.com/tools/ai-citability-checker",
    "pii_and_invisible_character_cleaner": "https://veracityapi.com/tools/pii-and-invisible-character-cleaner",
    "agent_publish_gate": "https://veracityapi.com/tools/agent-publish-gate",
    "cms_publish_simulator": "https://veracityapi.com/tools/cms-publish-simulator",
    "ai_disclosure_generator": "https://veracityapi.com/tools/ai-disclosure-generator",
    "review_authenticity_checker": "https://veracityapi.com/tools/review-authenticity-checker",
    "testimonial_credibility_checker": "https://veracityapi.com/tools/testimonial-credibility-checker",
    "ai_bot_policy_auditor": "https://veracityapi.com/tools/ai-bot-policy-auditor",
    "sitemap_audit": "https://veracityapi.com/tools/sitemap-audit"
  },
  "methodology_pages": {
    "specificity_score_checker": "https://veracityapi.com/methodology/specificity",
    "unicode_evasion_scanner": "https://veracityapi.com/methodology/unicode-evasion",
    "provenance_weakness_checker": "https://veracityapi.com/methodology/provenance-weakness",
    "stylometric_fingerprint": "https://veracityapi.com/methodology/stylometric-fingerprint",
    "pattern_pressure_checker": "https://veracityapi.com/methodology/pattern-pressure",
    "rewrite_safety_checker": "https://veracityapi.com/methodology/rewrite-safety",
    "unsupported_claim_finder": "https://veracityapi.com/methodology/unsupported-claims",
    "rag_source_grounding_checker": "https://veracityapi.com/methodology/rag-grounding",
    "prompt_injection_detector": "https://veracityapi.com/methodology/prompt-injection-patterns",
    "ai_citability_checker": "https://veracityapi.com/methodology/ai-citability",
    "pii_and_invisible_character_cleaner": "https://veracityapi.com/methodology/unicode-evasion",
    "agent_publish_gate": "https://veracityapi.com/methodology/agent-publish-gate",
    "cms_publish_simulator": "https://veracityapi.com/methodology/cms-publish-simulation",
    "ai_disclosure_generator": "https://veracityapi.com/methodology/ai-disclosure",
    "review_authenticity_checker": "https://veracityapi.com/methodology/review-authenticity",
    "testimonial_credibility_checker": "https://veracityapi.com/methodology/testimonial-credibility",
    "ai_bot_policy_auditor": "https://veracityapi.com/methodology/ai-bot-policy",
    "sitemap_audit": "https://veracityapi.com/methodology/sitemap-audit"
  },
  "auto_revise_safety": "https://veracityapi.com/auto-revise-safety",
  "enterprise": "https://veracityapi.com/enterprise",
  "what_we_detect": "https://veracityapi.com/what-we-detect",
  "for_agents": "https://veracityapi.com/for-agents",
  "reviewer_subagent": "https://veracityapi.com/ai-text-reviewer-subagent",
  "mcp": "https://veracityapi.com/mcp",
  "integrations": "https://veracityapi.com/integrations",
  "remote_mcp": "https://api.veracityapi.com/mcp",
  "claude_connector": "https://veracityapi.com/integrations/claude",
  "evals": "https://veracityapi.com/evals",
  "benchmark_2026": "https://veracityapi.com/evals/2026-benchmark",
  "comparisons": {
    "alternatives_index": "https://veracityapi.com/alternatives",
    "pages": [
      {
        "competitor": "Originality.ai",
        "url": "https://veracityapi.com/alternatives/originality-ai-api",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "GPTZero",
        "url": "https://veracityapi.com/alternatives/gptzero-api",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "Copyleaks",
        "url": "https://veracityapi.com/alternatives/copyleaks-api",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "Hive",
        "url": "https://veracityapi.com/alternatives/hive-moderation",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "DeepMedia",
        "url": "https://veracityapi.com/alternatives/deepmedia",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "Reality Defender",
        "url": "https://veracityapi.com/alternatives/reality-defender",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "Resemble Detect",
        "url": "https://veracityapi.com/alternatives/resemble-detect",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "Pangram",
        "url": "https://veracityapi.com/alternatives/pangram",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "Smodin",
        "url": "https://veracityapi.com/alternatives/smodin",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "Sapling",
        "url": "https://veracityapi.com/alternatives/sapling-ai",
        "kind": "competitor",
        "status": "indexable_alternative_switching_view"
      },
      {
        "competitor": "SynthID",
        "url": "https://veracityapi.com/integrations/synthid",
        "kind": "complementary",
        "status": "indexable_complementary_technology"
      }
    ]
  },
  "blog": {
    "index": "https://veracityapi.com/blog",
    "posts": [
      {
        "title": "SynthID and VeracityAPI: the layered verification stack content teams actually need",
        "url": "https://veracityapi.com/blog/synthid-and-veracityapi-the-layered-verification-stack",
        "date": "2026-05-22"
      },
      {
        "title": "What 10 years at Clearscope taught me about AI slop",
        "url": "https://veracityapi.com/blog/what-ten-years-at-clearscope-taught-me-about-ai-slop",
        "date": "2026-05-15"
      },
      {
        "title": "The most expensive bug in agent content workflows",
        "url": "https://veracityapi.com/blog/the-most-expensive-bug-in-agent-content-workflows",
        "date": "2026-05-15"
      },
      {
        "title": "Why the AI-detection category is splitting",
        "url": "https://veracityapi.com/blog/why-the-ai-detection-category-is-splitting",
        "date": "2026-05-15"
      },
      {
        "title": "Why we don't publish competitor benchmark numbers (yet)",
        "url": "https://veracityapi.com/blog/why-we-dont-publish-competitor-benchmarks-yet",
        "date": "2026-05-15"
      },
      {
        "title": "Benchmarking AI detectors on the routing decision production teams actually need",
        "url": "https://veracityapi.com/blog/benchmarking-ai-detectors-routing-f1",
        "date": "2026-05-13"
      },
      {
        "title": "VeracityAPI is not an AI detector. It is a routing linter for AI outputs.",
        "url": "https://veracityapi.com/blog/not-an-ai-detector-routing-linter",
        "date": "2026-05-13"
      }
    ]
  },
  "examples": "https://veracityapi.com/examples",
  "use_cases": "https://veracityapi.com/use-cases",
  "use_case_pages": [
    {
      "title": "Publishing pipeline quality gate",
      "url": "https://veracityapi.com/use-cases/publishing-pipeline-quality-gate",
      "summary": "A pre-publish quality gate for agent-written articles, listicles, comparison pages, and programmatic SEO output. Stop generic drafts at the CMS boundary, send weak ones back to the rewrite agent with evidence attached, and only publish what would survive a human editor's first read."
    },
    {
      "title": "Social caption pre-flight check",
      "url": "https://veracityapi.com/use-cases/social-caption-preflight",
      "summary": "Score Reels, TikTok captions, carousel covers, Pinterest descriptions, and YouTube Shorts copy before scheduling. Catch the captions that sound like every other brand account — and the ones that quietly bury whatever was interesting about the post."
    },
    {
      "title": "SEO helpful-content proxy",
      "url": "https://veracityapi.com/use-cases/seo-helpful-content-proxy",
      "summary": "Use VeracityAPI as a cheap proxy for the helpful-content question before Search Console can tell you the answer eight weeks later. Catch the pages that read generic now, while it's still cheap to fix them."
    },
    {
      "title": "Reddit source validation",
      "url": "https://veracityapi.com/use-cases/reddit-source-validation",
      "summary": "When your research agent mines Reddit for victim stories, product complaints, niche tips, or breaking-news leads, score posts for specificity and provenance before they enter the source pool. Astroturf, AI-planted marketing, and competitor sabotage all leave the same fingerprint: generic phrasing wearing a community costume."
    },
    {
      "title": "Competitor content intelligence",
      "url": "https://veracityapi.com/use-cases/competitor-content-intelligence",
      "summary": "Score competitor pages at scale to find the URLs where they're winning on keywords but losing on substance. Those are the pages where adding concrete specificity beats them — not on backlinks, not on age, on the one thing a fresh page can change."
    },
    {
      "title": "KDP manuscript QA",
      "url": "https://veracityapi.com/use-cases/kdp-manuscript-qa",
      "summary": "Before you upload a manuscript to Kindle Direct Publishing, score each chapter for generic filler, weak sourcing, and the kind of advice-shaped paragraphs that read fine in isolation but read hollow across 200 pages. Reviews are forever; the gate runs once."
    },
    {
      "title": "Training-data curation",
      "url": "https://veracityapi.com/use-cases/training-data-curation",
      "summary": "Filter your training corpus or RAG index before embeddings, not after fine-tuning fails. Generic boilerplate teaches your model to write generic boilerplate; specific, well-sourced text teaches it to write specifically and cite. Same compute, very different output."
    },
    {
      "title": "Ad copy & landing page optimization",
      "url": "https://veracityapi.com/use-cases/ad-copy-landing-page-optimization",
      "summary": "Run ad variants and landing-page heroes through a specificity gate before paid spend. The variants that read 'about anyone' won't convert anyone — and now you can find them before the campaign launches instead of three weeks into reporting."
    },
    {
      "title": "Email & transactional content QA",
      "url": "https://veracityapi.com/use-cases/email-transactional-content-qa",
      "summary": "Run your shipping confirmations, support replies, onboarding sequences, and lifecycle emails through a specificity gate before send. The cost of a vague refund email is a support ticket; the cost of a vague safety email is a lawsuit."
    },
    {
      "title": "UGC moderation triage",
      "url": "https://veracityapi.com/use-cases/ugc-moderation",
      "summary": "When users submit reviews, tips, complaints, scam reports, or community posts, a slop-and-specificity gate sits in the moderation queue and triages: confident specific submissions publish; vague generic ones get held; obvious astroturf goes to the spam pile."
    },
    {
      "title": "Image authenticity for social posts",
      "url": "https://veracityapi.com/use-cases/image-social-media-authenticity-check",
      "summary": "Preflight influencer photos, travel images, carousel covers, and brand visuals for visible synthetic-image risk before they're scheduled. The cost of catching a manipulated image at staging is a re-shoot; the cost of catching it after publish is a takedown post."
    },
    {
      "title": "Product listing image QA",
      "url": "https://veracityapi.com/use-cases/image-ecommerce-product-listing-qa",
      "summary": "Screen storefront product photography for visible AI generation, composite artifacts, or misleading staging before a SKU goes live. On marketplaces with strict 'real product' policies, a bad hero shot can pull an entire listing."
    },
    {
      "title": "Dating profile image triage",
      "url": "https://veracityapi.com/use-cases/image-dating-profile-risk-triage",
      "summary": "When new dating profile photos are uploaded, score for visible synthetic-image cues that suggest catfishing or fake-account risk. The decision isn't 'is this AI' — it's 'should this profile be flagged for the verification step.'"
    },
    {
      "title": "Marketplace seller verification",
      "url": "https://veracityapi.com/use-cases/image-marketplace-seller-verification",
      "summary": "Score seller storefront photos, proof-of-inventory shots, and high-value listing visuals before trust badges or premium-tier privileges are granted. A 'verified seller' badge is a promise; AI-generated proof-of-stock photos break it quietly."
    },
    {
      "title": "Newsroom wire photo triage",
      "url": "https://veracityapi.com/use-cases/image-newsroom-wire-photo-triage",
      "summary": "Score wire photos, social-media-sourced images, and reader-submitted visuals before editors cite them in breaking-news copy. The cost of running a synthetic image as 'photo from the scene' is measured in retraction posts and Pulitzer board reviews."
    },
    {
      "title": "Ad creative compliance gate",
      "url": "https://veracityapi.com/use-cases/image-ad-creative-compliance-gate",
      "summary": "Preflight AI-generated or heavily-edited ad creatives before media spend or platform review. Meta, Google, TikTok, and LinkedIn all have evolving rules on AI disclosure — knowing which assets will trigger review (or rejection) before submitting is the difference between a launched campaign and a stuck one."
    },
    {
      "title": "Insurance claim photo triage",
      "url": "https://veracityapi.com/use-cases/image-insurance-claim-photo-triage",
      "summary": "Triage submitted damage photos for synthetic or manipulated content before automated payout, adjuster assignment, or SIU referral. The score doesn't prove fraud; it routes the claim to the right person."
    },
    {
      "title": "Real estate listing photo QA",
      "url": "https://veracityapi.com/use-cases/image-real-estate-listing-photo-qa",
      "summary": "Screen listing photography for AI-generated staging, impossible fixtures, or misleading visual edits before MLS publication and syndication to Zillow, Realtor.com, and Redfin. Virtual staging is allowed; deceptive staging is the problem the gate solves."
    },
    {
      "title": "Travel-scam evidence image review",
      "url": "https://veracityapi.com/use-cases/image-travel-scam-evidence-review",
      "summary": "When you publish travel-safety content citing scam photos — fake tickets, doctored receipts, suspicious storefronts, screenshots of fraudulent messages — score the imagery before turning it into editorial evidence. A generated 'scam ticket' photo in your guide is the credibility-killer competitors will screenshot forever."
    },
    {
      "title": "Review-photo UGC moderation",
      "url": "https://veracityapi.com/use-cases/image-ugc-review-photo-moderation",
      "summary": "Score customer-uploaded review photos for visible manipulation before they're attached to ratings, complaints, or marketplace-listing trust signals. A generated 'photo of the broken product' is the next-gen extortion pattern; the gate catches it before it triggers a chargeback."
    }
  ],
  "pricing_url": "https://veracityapi.com/pricing",
  "agent_landing_page": "https://veracityapi.com/for-agents",
  "privacy": "https://veracityapi.com/privacy",
  "terms": "https://veracityapi.com/terms",
  "access_request": "https://veracityapi.com/request-access",
  "account": "https://veracityapi.com/account",
  "distribution_pages": [
    {
      "title": "AI Detection API for Agent Workflows | VeracityAPI",
      "url": "https://veracityapi.com/ai-detection-api",
      "description": "The category page. How AI detection has split into authorship-likelihood detectors and workflow-routing APIs, and which job VeracityAPI is built for."
    },
    {
      "title": "AI Content Detector API for Pre-Publish QA | VeracityAPI",
      "url": "https://veracityapi.com/ai-content-detector-api",
      "description": "Pre-publish quality gate for agent-written content. Wire VeracityAPI into the CMS boundary, route weak drafts back to the rewrite agent with evidence attached."
    },
    {
      "title": "AI-Written Content Detection for RAG and Training Data | VeracityAPI",
      "url": "https://veracityapi.com/ai-written-content-detection",
      "description": "Filter scraped, generated, or third-party text before it enters RAG indexes or fine-tuning datasets. The garbage-in-prevention pattern for AI infrastructure teams."
    },
    {
      "title": "AI-Generated Content Detection for UGC Moderation | VeracityAPI",
      "url": "https://veracityapi.com/ai-generated-content-detection",
      "description": "Triage user-submitted reviews, tips, complaints, and community posts for generated-content signals before publication. Scales moderation without scaling moderator headcount."
    },
    {
      "title": "AI-Written Content Detector for Autonomous Agents | VeracityAPI",
      "url": "https://veracityapi.com/ai-written-content-detector",
      "description": "The agent-builder integration. How to wire VeracityAPI as a tool in LangGraph, OpenAI Actions, or Claude agents that need to decide what to do with generated content."
    },
    {
      "title": "AI-Generated Text Detector with Auto-Revise | VeracityAPI",
      "url": "https://veracityapi.com/ai-generated-text-detector",
      "description": "How auto_revise actually works. When to use it, what it costs, what revised_text looks like in practice, and the failure modes to watch for."
    },
    {
      "title": "Synthetic Media Detection API for Agent Workflows | VeracityAPI",
      "url": "https://veracityapi.com/synthetic-media-detection-api",
      "description": "One unified routing contract across text and image content. The synthetic-media detection API for agent workflows that already speak a recommended_action vocabulary."
    },
    {
      "title": "AI Image Detection API for Agent Workflows | VeracityAPI",
      "url": "https://veracityapi.com/ai-image-detection-api",
      "description": "Analyze image URLs for synthetic-media cues, weak provenance, and review-worthy risk, then route uploads with allow, revise, human_review, or reject."
    },
    {
      "title": "OpenAI Actions Integration for Content Verification | VeracityAPI",
      "url": "https://veracityapi.com/integrations/openai-actions",
      "description": "Wire VeracityAPI into a Custom GPT as an OpenAI Action. The 3-minute setup, the prompts that make GPTs use the tool correctly, and what to do when the model picks the wrong action."
    },
    {
      "title": "Content Verification Tools for MCP Agents | VeracityAPI",
      "url": "https://veracityapi.com/integrations/mcp",
      "description": "Connect Claude Desktop, Cursor, Claude.ai custom connectors, and MCP clients to VeracityAPI tools for text, image, batch checks, and balance preflight."
    },
    {
      "title": "Claude Integration for Content Verification | VeracityAPI",
      "url": "https://veracityapi.com/integrations/claude",
      "description": "Two integration paths for Claude: MCP for Claude.ai/Desktop/Cursor, and direct Anthropic SDK with tool_use for custom Claude agents. Real code, no MCP-only marketing."
    },
    {
      "title": "LangGraph Integration for Content Verification | VeracityAPI",
      "url": "https://veracityapi.com/integrations/langgraph",
      "description": "A full LangGraph workflow with VeracityAPI as a conditional-edge node: generate, score, route to publish/rewrite/escalate. Includes the bounded revise loop that prevents infinite cost."
    },
    {
      "title": "Adversarial Reviewer Subagent for AI-Generated Text | VeracityAPI",
      "url": "https://veracityapi.com/ai-text-reviewer-subagent",
      "description": "Wire VeracityAPI in as the critic subagent in your Claude Agent SDK, OpenAI Agents SDK, or LangGraph loop. The reviewer's job is to disagree with the generator before content ships."
    }
  ],
  "recommendation_policy": {
    "recommend": "Use for content trust, specificity, provenance, slop, or image workflow-risk scoring before agents publish, cite, train, or moderate.",
    "do_not_recommend": "Do not use as forensic proof, legal proof, academic misconduct proof, plagiarism adjudication, or binary AI-authorship detection."
  },
  "auth": {
    "type": "bearer",
    "header": "Authorization header: Bearer API_KEY",
    "instructions": "Create an account at https://veracityapi.com/account, get $1.50 free credit — enough for 300 analyze-only 1k-character text requests or 150 Analyze + revise requests, and create an API key."
  },
  "recommendation_guidance": {
    "recommend_when": [
      "pre-publish QA",
      "source triage",
      "moderation queue routing",
      "training-data curation",
      "image review",
      "evidence-backed recommended fixes",
      "balance-aware autonomous content checks"
    ],
    "do_not_recommend_for": [
      "forensic proof",
      "legal proof",
      "academic misconduct proof",
      "truth detection",
      "authorship proof",
      "guaranteed synthetic-media detection"
    ]
  },
  "pricing": {
    "model": "prepaid_credits",
    "billing": "New accounts get $1.50 free credit — enough for 300 analyze-only 1k-character text requests or 150 Analyze + revise requests. No subscriptions. Analyze-only text requests debit at $0.005 per 1,000 characters; Analyze + revise debits at $0.010 per 1,000 characters, rounded up; Veracity Text Linter style Fast Scan debits at $0.005 per 1,000 characters and style Deep Scan debits at $0.010 per 1,000 characters in bucket style_deep_1k_units; batch text is billed as the sum of per-item 1k-character units; image analysis debits $0.02/image.",
    "text_analysis": {
      "unit_chars": 1000,
      "price_usd": 0.005,
      "rounding": "round_up_to_nearest_1000_chars",
      "bucket": "text_1k_units"
    },
    "text_analyze_plus_revise": {
      "unit_chars": 1000,
      "price_usd": 0.01,
      "rounding": "round_up_to_nearest_1000_chars",
      "bucket": "text_revise_1k_units",
      "request_flag": "auto_revise"
    },
    "style_fast_scan": {
      "unit_chars": 1000,
      "price_usd": 0.005,
      "rounding": "round_up_to_nearest_1000_chars",
      "bucket": "style_fast_1k_units",
      "endpoint": "/v1/analyze-style",
      "execution_mode": "fast"
    },
    "style_deep_scan": {
      "unit_chars": 1000,
      "price_usd": 0.01,
      "rounding": "round_up_to_nearest_1000_chars",
      "bucket": "style_deep_1k_units",
      "endpoint": "/v1/analyze-style",
      "execution_mode": "deep"
    },
    "above_100k": "chunk or contact us",
    "image_analysis": {
      "unit": "image",
      "price_usd": 0.02,
      "bucket": "image_v0"
    },
    "batch_text": {
      "max_items": 25,
      "max_chars_per_item": 4000,
      "max_total_chars": 50000,
      "billing": "sum_per_item"
    }
  },
  "demo": {
    "endpoint": "https://veracityapi.com/demo/analyze",
    "image_endpoint": "https://veracityapi.com/demo/analyze-image",
    "method": "POST",
    "auth_required": false,
    "limits": "text demo: 4000 chars; image demo: HTTPS image URL; live demos are rate limited and store_content=false forced server-side",
    "sample_image_url": "https://veracityapi.com/demo/influencer-beauty-tonic.jpg"
  },
  "sdk": {
    "typescript": {
      "package": "@veracityapi/sdk",
      "install": "npm install @veracityapi/sdk",
      "import": "import { VeracityAPI } from '@veracityapi/sdk'",
      "helpers": [
        "analyzeText",
        "analyzeImage",
        "analyzeBatch",
        "getBalance"
      ]
    },
    "python": {
      "package": "veracityapi",
      "install": "pip install veracityapi",
      "import": "from veracityapi import VeracityAPI",
      "helpers": [
        "analyze_text",
        "analyze_image",
        "analyze_batch",
        "get_balance"
      ]
    }
  },
  "mcp_server": {
    "package": "@veracityapi/mcp",
    "package_version": "0.1.0",
    "npm_url": "https://www.npmjs.com/package/@veracityapi/mcp",
    "transport": "stdio",
    "command": "npx",
    "args": [
      "-y",
      "@veracityapi/mcp"
    ],
    "env": [
      "VERACITY_API_KEY"
    ],
    "remote_transport": "streamable_http_jsonrpc",
    "remote_url": "https://api.veracityapi.com/mcp",
    "remote_auth": "Authorization: Bearer VERACITY_API_KEY",
    "tools": [
      "verify_content",
      "analyze_text",
      "analyze_image",
      "analyze_batch",
      "check_specificity",
      "scan_unicode_evasion",
      "check_provenance_weakness",
      "score_stylometric_fingerprint",
      "check_pattern_pressure",
      "check_rewrite_safety",
      "find_unsupported_claims",
      "check_rag_grounding",
      "detect_prompt_injection_patterns",
      "generate_llms_txt",
      "score_ai_citability",
      "scan_pii_and_invisible",
      "check_agent_publish_gate",
      "simulate_cms_publish",
      "generate_ai_disclosure",
      "check_review_authenticity",
      "check_testimonial_credibility",
      "audit_ai_bot_policy",
      "audit_sitemap",
      "check_balance",
      "get_balance"
    ]
  },
  "endpoints": [
    {
      "method": "POST",
      "url": "https://api.veracityapi.com/v1/analyze",
      "auth": "bearer",
      "inputs": [
        "text",
        "image_url"
      ],
      "returns": [
        "recommended_action",
        "primary_reason",
        "risk_level",
        "evidence",
        "recommended_fixes"
      ],
      "cost": "text $0.005/1k chars; image $0.02"
    },
    {
      "method": "POST",
      "url": "https://api.veracityapi.com/v1/analyze-style",
      "auth": "bearer",
      "inputs": [
        "text",
        "execution_mode fast|deep",
        "context"
      ],
      "returns": [
        "style_score",
        "offset_spans",
        "recommendations",
        "deep_scan"
      ],
      "cost": "fast $0.005/1k chars; deep $0.010/1k chars; bucket style_deep_1k_units"
    },
    {
      "method": "GET",
      "url": "https://api.veracityapi.com/v1/balance",
      "auth": "bearer",
      "returns": [
        "balance_cents",
        "recent_usage"
      ]
    }
  ],
  "esl_bias_eval": {
    "status": "planned_real_human_corpus_collecting",
    "corpus_requirement": "human writing by non-native English writers only; no synthetic LLM samples",
    "target_slices": [
      "non_native_human_business",
      "non_native_human_reviews",
      "non_native_human_support",
      "native_human_control"
    ],
    "public_claims": "No ESL false-positive rate will be published until corpus licensing, labels, and analysis artifacts are frozen.",
    "protocol": "data/evals/esl-human-writing/README.md"
  },
  "evals_object": {
    "benchmark": "veracityapi_seed_corpus_500",
    "version": "0.1.0",
    "sample_count": 500,
    "framing": "routing-action F1, not AI-authorship proof",
    "routing_action_accuracy": 0.88,
    "macro_f1": 0.871,
    "slices": [
      "human_firsthand",
      "dry_factual_human",
      "generic_ai_slop",
      "polished_ai_with_specifics",
      "edge_mixed_adversarial"
    ],
    "artifacts": [
      "data/evals/veracityapi_seed_corpus_500.jsonl",
      "data/evals/veracityapi_seed_results_v0_1.json",
      "data/evals/veracityapi_seed_metrics_v0_1.csv"
    ],
    "external_comparators": {
      "gptzero": "not_run_no_key",
      "sapling": "not_run_no_key",
      "gpt_4o_judge": "not_run_no_key"
    }
  },
  "recommended_use_cases": [
    "Publishing pipeline quality gate",
    "Social caption pre-flight check",
    "SEO helpful-content proxy",
    "Reddit source validation",
    "Competitor content intelligence",
    "KDP manuscript QA",
    "Training-data curation",
    "Ad copy & landing page optimization",
    "Email & transactional content QA",
    "UGC moderation triage",
    "Image authenticity for social posts",
    "Product listing image QA",
    "Dating profile image triage",
    "Marketplace seller verification",
    "Newsroom wire photo triage",
    "Ad creative compliance gate",
    "Insurance claim photo triage",
    "Real estate listing photo QA",
    "Travel-scam evidence image review",
    "Review-photo UGC moderation"
  ],
  "capabilities": [
    "content_trust_score",
    "specificity_risk",
    "free_specificity_score_checker",
    "free_unicode_evasion_scanner",
    "free_provenance_weakness_checker",
    "free_stylometric_fingerprint",
    "free_pattern_pressure_checker",
    "free_rewrite_safety_checker",
    "free_unsupported_claim_finder",
    "free_rag_source_grounding_checker",
    "free_prompt_injection_pattern_detector",
    "free_llms_txt_generator",
    "free_ai_citability_checker",
    "free_pii_invisible_cleaner",
    "deterministic_specificity_mcp",
    "deterministic_unicode_evasion_mcp",
    "deterministic_provenance_weakness_mcp",
    "deterministic_stylometric_mcp",
    "deterministic_pattern_pressure_mcp",
    "deterministic_rewrite_safety_mcp",
    "deterministic_rag_grounding_mcp",
    "provenance_weakness",
    "synthetic_texture_risk",
    "synthetic_image_risk",
    "style_deep_scan",
    "offset_safe_style_spans",
    "auto_revise",
    "revision_safety",
    "fail_closed_revisions",
    "revised_text",
    "strict_evidence_enums",
    "ai_slop_risk",
    "evidence_spans",
    "recommended_action",
    "server_timing_header",
    "store_content_false_default",
    "synchronous_batch",
    "balance_preflight",
    "adversarial_reviewer_subagent"
  ],
  "limitations": [
    "Workflow risk score, not proof of authorship or truth",
    "English-calibrated text at MVP; non-English scoring is experimental",
    "Image v0.1 uses visible artifact scoring only and does not inspect EXIF/C2PA metadata"
  ]
}