{
  "name": "Rev AI",
  "slug": "rev-ai",
  "website_url": "https://www.rev.ai",
  "vendor_description": "\"A developer-first API delivering industry-leading accuracy and fast performance at global scale.\"",
  "categories": [
    "speech-to-text"
  ],
  "summary": "Rev AI is a speech-to-text API from Rev, offering both asynchronous batch transcription and real-time streaming, with capabilities including speaker diarization, word timestamps, custom vocabulary, language detection, translation, sentiment analysis, and summarization. Pricing is usage-based at $0.0017 per minute with a 5-hour free tier and self-serve signup, making it accessible without a sales call. SDKs are available for Python, Node.js, Java, and Go, and the service is SOC 2 Type 2 certified, HIPAA compliant, and GDPR compliant, with data residency options in the US and EU.",
  "capabilities": {
    "supported_actions": [
      "transcribe_batch",
      "transcribe_streaming",
      "speaker_diarization",
      "word_timestamps",
      "confidence_scores",
      "custom_vocabulary",
      "punctuation",
      "disfluency_removal",
      "profanity_filtering",
      "language_detection",
      "language_translation",
      "sentiment_analysis",
      "topic_extraction",
      "summarization",
      "forced_alignment",
      "captions_srt",
      "captions_vtt",
      "human_transcription"
    ],
    "supported_regions": [
      "United States",
      "European Union (Frankfurt, Germany)"
    ],
    "supported_languages": [
      "Multilingual English/Spanish",
      "Afrikaans",
      "Arabic",
      "Armenian",
      "Azerbaijani",
      "Belarusian",
      "Bosnian",
      "Bulgarian",
      "Catalan",
      "Croatian",
      "Czech",
      "Danish",
      "Dutch",
      "English",
      "Estonian",
      "Farsi",
      "Finnish",
      "French",
      "Galician",
      "German",
      "Greek",
      "Hebrew",
      "Hindi",
      "Hungarian",
      "Icelandic",
      "Indonesian",
      "Italian",
      "Japanese",
      "Kannada",
      "Kazakh",
      "Korean",
      "Latvian",
      "Lithuanian",
      "Macedonian",
      "Malay",
      "Mandarin",
      "Marathi",
      "Nepali",
      "Norwegian",
      "Polish",
      "Portuguese",
      "Romanian",
      "Russian",
      "Serbian",
      "Slovak",
      "Slovenian",
      "Spanish",
      "Swahili",
      "Swedish",
      "Tagalog",
      "Tamil",
      "Telugu",
      "Thai",
      "Turkish",
      "Ukrainian",
      "Urdu",
      "Vietnamese",
      "Welsh"
    ],
    "input_types": [
      "audio/mp3",
      "audio/mp4",
      "audio/ogg",
      "audio/wav",
      "audio/flac",
      "audio/pcm",
      "all FFmpeg-compatible formats",
      "raw audio",
      "file upload (multipart)",
      "source URL (source_config)",
      "WebSocket stream (wss://)",
      "RTMP stream"
    ],
    "output_types": [
      "JSON transcript",
      "plain text transcript",
      "SRT captions",
      "VTT captions",
      "word-level timestamps",
      "speaker-labeled segments",
      "confidence scores",
      "JSON summary",
      "plain text summary",
      "JSON translation",
      "SRT translation captions"
    ],
    "webhooks_supported": true,
    "sandbox_available": false,
    "sdk_languages": [
      "Python",
      "Node.js",
      "Java",
      "Go"
    ],
    "mcp_server_available": false
  },
  "integration": {
    "api_style": "rest",
    "base_url": "https://api.rev.ai/speechtotext/v1",
    "api_version": "v1",
    "versioning_scheme": "url",
    "stability": "ga",
    "deprecation_policy_url": null,
    "auth_methods": [
      "api_key"
    ],
    "auth_docs_url": "https://docs.rev.ai/api/asynchronous/get-started/",
    "idempotency_supported": null,
    "error_format": "vendor-specific",
    "webhook_signing": null,
    "webhook_events_url": "https://docs.rev.ai/api/asynchronous/webhooks/",
    "rate_limit_requests": 10000,
    "rate_limit_window": "10 minutes",
    "sdk_packages": [
      {
        "package": "rev_ai",
        "language": "Python",
        "official": true,
        "repo_url": "https://github.com/revdotcom/revai-python-sdk"
      },
      {
        "package": "revai-node-sdk",
        "language": "Node.js",
        "official": true,
        "repo_url": "https://github.com/revdotcom/revai-node-sdk"
      },
      {
        "package": "ai.rev:revai-java-sdk",
        "language": "Java",
        "official": true,
        "repo_url": "https://github.com/revdotcom/revai-java-sdk"
      },
      {
        "package": null,
        "language": "Go",
        "official": false,
        "repo_url": "https://github.com/oriiolabs/revai-go"
      }
    ],
    "mcp_url": null,
    "quickstart_url": "https://docs.rev.ai/api/asynchronous/get-started/"
  },
  "pricing": {
    "pricing_model": "usage_based",
    "has_published_pricing": true,
    "starting_price_usd": "0.0017",
    "price_basis": "minute",
    "free_tier_available": false,
    "free_tier_limit": "5 hours of Reverb ASR",
    "free_tier_details": "One-time trial credit of 5 hours of Reverb ASR for new users (not a recurring free allowance)",
    "minimum_commitment": null,
    "self_serve_signup": true,
    "requires_sales_call": false,
    "requires_verification": false,
    "enterprise_plan_available": true,
    "price_points": [
      {
        "plan": "Pay-As-You-Go",
        "item": "Reverb Transcription (English, Async)",
        "amount_usd": "0.2000",
        "amount_percent": null,
        "per": "hour",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Reverb Turbo Transcription (English, Async)",
        "amount_usd": "0.1000",
        "amount_percent": null,
        "per": "hour",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Reverb Foreign Language Transcription (55+ languages, Async)",
        "amount_usd": "0.3000",
        "amount_percent": null,
        "per": "hour",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Whisper Fusion Transcription (English, Async)",
        "amount_usd": "0.0050",
        "amount_percent": null,
        "per": "minute",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Whisper Large Transcription (English, Async)",
        "amount_usd": "0.0050",
        "amount_percent": null,
        "per": "minute",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Human Transcription",
        "amount_usd": "1.9900",
        "amount_percent": null,
        "per": "minute",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Forced Alignment",
        "amount_usd": "0.0030",
        "amount_percent": null,
        "per": "minute",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Language Identification add-on",
        "amount_usd": "0.0030",
        "amount_percent": null,
        "per": "minute",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Language Translation Standard add-on",
        "amount_usd": "0.0020",
        "amount_percent": null,
        "per": "minute",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Language Translation Premium add-on",
        "amount_usd": "0.0250",
        "amount_percent": null,
        "per": "minute",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Sentiment Analysis add-on",
        "amount_usd": "0.0008",
        "amount_percent": null,
        "per": "10 words",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Topic Extraction add-on",
        "amount_usd": "0.0008",
        "amount_percent": null,
        "per": "10 words",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Summarization Standard add-on",
        "amount_usd": "0.0020",
        "amount_percent": null,
        "per": "minute",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Pay-As-You-Go",
        "item": "Summarization Premium add-on",
        "amount_usd": "0.0250",
        "amount_percent": null,
        "per": "minute",
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      },
      {
        "plan": "Enterprise",
        "item": "Transcription (all models, volume pricing)",
        "amount_usd": null,
        "amount_percent": null,
        "per": null,
        "currency": "USD",
        "source_url": "https://www.rev.ai/pricing"
      }
    ]
  },
  "compliance": {
    "soc2": "type_2",
    "hipaa": true,
    "gdpr": true,
    "iso_27001": false,
    "pci_dss": false,
    "sla_published": false,
    "sla_url": null,
    "data_retention_policy_url": "https://docs.rev.ai/api/security",
    "documented_rate_limits": "Async API: 10,000 transcription requests per 10 minutes; 500 transcriptions processed per 10 minutes (excess queued); multipart uploads max 5 concurrent requests. Streaming API: concurrency limit of 10 (adjustable via support); 3-hour time limit per stream.",
    "known_restrictions": [
      "Multipart file uploads: 2 GB per request max",
      "source_config uploads: 5 TB max",
      "Maximum 17 hours audio per async transcription job",
      "Streaming: 10 concurrent connections limit (default)",
      "Streaming: 3-hour time limit per stream",
      "15-second minimum billing per job",
      "HIPAA available on enterprise accounts only (requires BAA + MSA)",
      "EU deployment does not support human transcription",
      "EU deployment: custom vocabularies only accepted at job submission (not pre-existing IDs)",
      "Jobs/data retained for maximum 30 days then permanently deleted",
      "RTMP streams not supported in HIPAA mode"
    ]
  },
  "developer": {
    "docs_url": "https://docs.rev.ai/",
    "api_reference_url": null,
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": null,
    "status_page_url": "https://status.rev.ai",
    "llms_txt_url": "https://www.rev.ai/llms.txt",
    "markdown_docs_url": null,
    "rendering": "static"
  },
  "adoption": {
    "launched_at": "2010-01-01",
    "ga_date": null,
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": []
  },
  "scores": {
    "agent_friendliness": 35,
    "pricing_transparency": 85,
    "setup_speed": 60,
    "docs_quality": 25,
    "procurement_friction": 85,
    "trust_readiness": 55,
    "best_for": [
      "Regulated or enterprise workloads - compliance attestations and an enterprise plan",
      "AI agents and automation - an agent-ready surface (MCP / llms.txt)",
      "Teams needing broad API coverage out of the box"
    ],
    "avoid_if": [
      "You want to try it free before paying"
    ]
  },
  "sources": [
    {
      "field": "categories",
      "url": "https://www.rev.ai/speech-to-text",
      "excerpt": "Speech-to-Text API At Scale | Rev AI",
      "confidence": "high"
    },
    {
      "field": "supported_languages",
      "url": "https://docs.rev.ai/api/asynchronous/changelog/",
      "excerpt": "2023-11-16 added: Afrikaans, Armenian, Azerbaijani, Belarusian, Bosnian, Estonian, Galician, Icelandic, Kannada, Kazakh, Macedonian, Marathi, Nepali, Serbian, Swahili, Tagalog, Thai, Ukrainian, Urdu, Vietnamese, Welsh, and multilingual English/Spanish",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://docs.rev.ai/api/asynchronous/billing",
      "excerpt": "Jobs with the test_mode parameter set to true are not charged and return a dummy transcript.",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.rev.ai/auth/signup",
      "excerpt": "Free Trial Sign Up | Rev AI — no credit card needed and no auto-charges after the trial ends",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://www.rev.ai/pricing",
      "excerpt": "Reverb Transcription: $0.20/hour; Reverb Turbo: $0.10/hour; Reverb Foreign Language: $0.30/hour; Forced Alignment: $0.003/minute",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://docs.rev.ai/faq",
      "excerpt": "SOC 2 Type II compliance, and their SOC 3 report is available for review",
      "confidence": "high"
    },
    {
      "field": "price_basis",
      "url": "https://www.rev.ai/pricing",
      "excerpt": "All transcription rounded to nearest second with 15-second minimum",
      "confidence": "high"
    },
    {
      "field": "vendor_description",
      "url": "https://www.rev.ai/",
      "excerpt": "A developer-first API delivering industry-leading accuracy and fast performance at global scale.",
      "confidence": "high"
    },
    {
      "field": "supported_languages",
      "url": "https://www.rev.ai/languages",
      "excerpt": "With 57+ languages supported, you can now take your products to markets worldwide.",
      "confidence": "high"
    },
    {
      "field": "supported_languages",
      "url": "https://docs.rev.ai/faq",
      "excerpt": "Rev AI supports 58+ languages in the Asynchronous Speech-to-Text API and 9+ languages in the Streaming Speech-to-Text API.",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.rev.ai/pricing",
      "excerpt": "Free credits equivalent to 5 hours of Reverb ASR (free credits can be used for all products).",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.rev.ai/pricing",
      "excerpt": "Reverb Transcription: $0.20/hour (English); Reverb Turbo: $0.10/hour (English); Reverb Foreign Language: $0.30/hour (55+ languages); Whisper Fusion: $0.005/minute",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://www.rev.ai/security",
      "excerpt": "Our systems and processes are regularly audited to meet strict security standards.",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://www.rev.ai/security",
      "excerpt": "Rev's enterprise tier provides HIPAA-compliant transcription services to protect sensitive healthcare data.",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://www.rev.ai/security",
      "excerpt": "Our services are designed to help you meet your GDPR obligations effortlessly.",
      "confidence": "high"
    },
    {
      "field": "iso_27001",
      "url": "https://www.rev.ai/security",
      "excerpt": "Certifications listed: SOC 2 Type II, HIPAA, CJIS, PCI DSS, GDPR — ISO 27001 is not mentioned on the security page.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://www.rev.ai/",
      "excerpt": "SOC II, HIPAA, GDPR, and PCI compliant with 99.99% uptime",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://docs.rev.ai/api/asynchronous/reference",
      "excerpt": "GET /jobs/{id}/transcript, GET /jobs/{id}/transcript/translation/{language}, GET /jobs/{id}/transcript/summary, GET /jobs/{id}/captions, GET /jobs/{id}/captions/translation/{language}",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://docs.rev.ai/sdk",
      "excerpt": "Official SDKs: Java, Node, Python. Community SDKs: Golang (not an endorsement or recommendation by Rev)",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://docs.rev.ai/api/streaming",
      "excerpt": "Streaming concurrency limit is 10; Time limit per stream is 3 hours",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://www.rev.ai/pricing",
      "excerpt": "Volume-based pricing with dedicated account manager, priority support, flexible terms, and enhanced data security. Requires direct sales engagement.",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://docs.rev.ai/api/security",
      "excerpt": "Jobs persist for a maximum of 30 days, after which all associated data is permanently removed",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://docs.rev.ai/api/streaming/requests/",
      "excerpt": "Clients must authenticate by including their Rev AI access token as a query parameter in their requests.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://docs.rev.ai/api/streaming/requests/",
      "excerpt": "wss://api.rev.ai/speechtotext/v1/stream",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://docs.rev.ai/api/",
      "excerpt": "Both 'Asynchronous' and 'Streaming' endpoints, suggesting REST and WebSocket support respectively.",
      "confidence": "high"
    },
    {
      "field": "versioning_scheme",
      "url": "https://docs.rev.ai/api/asynchronous/get-started/",
      "excerpt": "https://api.rev.ai/speechtotext/v1/jobs",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/revdotcom/revai-node-sdk",
      "excerpt": "revai-node-sdk — official repository, with the npm badge linking to the official package on npmjs.com",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://docs.rev.ai/faq",
      "excerpt": "10,000 transcription requests submitted every 10 minutes",
      "confidence": "high"
    },
    {
      "field": "webhook_events_url",
      "url": "https://docs.rev.ai/api/asynchronous/webhooks/",
      "excerpt": "The API will make an HTTP POST request to the URL specified in that parameter with details in the request body when the job either completes successfully or fails.",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://www.rev.ai/pricing",
      "excerpt": "Reverb Turbo: $0.10/hour (English)",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://docs.rev.ai/api/hipaa",
      "excerpt": "To activate HIPAA protections, account owners must execute two agreements with Rev AI: a Business Associate Agreement (BAA) and an updated Master Service Agreement (MSA)",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://docs.rev.ai/api/global-deployments/",
      "excerpt": "The EU deployment enables data processing and data storage in the European Union (EU) with customer data kept within their Frankfurt-based facility",
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://www.rev.ai/security",
      "excerpt": "Your payment information is processed securely through PCI-compliant systems.",
      "confidence": "medium"
    },
    {
      "field": "supported_actions",
      "url": "https://docs.rev.ai/api/features",
      "excerpt": "Speaker diarization is the process of separating audio segments according to speaker identification. Diarization is performed by default on all audio processed through the Asynchronous Speech-to-Text API.",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://docs.rev.ai/api/asynchronous/reference",
      "excerpt": "notification_config can be used as a replacement for the deprecated callback_url to provide a webhook callback URL for a job",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://docs.rev.ai/api/asynchronous",
      "excerpt": "10,000 transcription requests every 10 minutes; 500 transcriptions processed every 10 minutes (excess requests queued); Multipart form-data uploads: maximum of 5 concurrent requests",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://docs.rev.ai/api/global-deployments/",
      "excerpt": "Rev AI offers deployments in: European Union (EU) - with data center physically located in Frankfurt, Germany. EU deployment endpoints: https://ec1.api.rev.ai/speechtotext/v1/",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://docs.rev.ai/api/asynchronous",
      "excerpt": "Multipart uploads: 2 GB per request; Dashboard/source_config uploads: 5 TB; Maximum of 17 hours per transcription job",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://docs.rev.ai/api/asynchronous/get-started/",
      "excerpt": "Clients must authenticate by including their Rev AI access token in the Authorization header of their requests.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://docs.rev.ai/api/asynchronous/get-started/",
      "excerpt": "https://api.rev.ai/speechtotext/v1/",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://docs.rev.ai/api/asynchronous/get-started/",
      "excerpt": "https://api.rev.ai/speechtotext/v1/",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://docs.rev.ai/api/streaming/requests/",
      "excerpt": "wss://api.rev.ai/speechtotext/v1/stream",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/revdotcom/revai-python-sdk",
      "excerpt": "pip install --upgrade rev_ai",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/revdotcom/revai-java-sdk",
      "excerpt": "<groupId>ai.rev</groupId><artifactId>revai-java-sdk</artifactId>",
      "confidence": "high"
    },
    {
      "field": "rate_limit_window",
      "url": "https://docs.rev.ai/faq",
      "excerpt": "10,000 transcription requests submitted every 10 minutes",
      "confidence": "high"
    },
    {
      "field": "data_retention_policy_url",
      "url": "https://docs.rev.ai/api/security",
      "excerpt": "Jobs will remain for up to a maximum of 30 days, after which all associated data is deleted and is irretrievable.",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://www.rev.ai/pricing",
      "excerpt": "Whisper Fusion & Whisper Large: $0.005/minute (English)",
      "confidence": "high"
    },
    {
      "field": "free_tier_limit",
      "url": "https://www.rev.ai/pricing",
      "excerpt": "5 hours of Reverb ASR available to all new users",
      "confidence": "high"
    },
    {
      "field": "requires_verification",
      "url": "https://docs.rev.ai/api/asynchronous/get-started/",
      "excerpt": "Generate an access token from the Rev AI dashboard — no mention of KYC or business verification requirements",
      "confidence": "medium"
    },
    {
      "field": "launched_at",
      "url": "https://sonix.ai/resources/rev-review-pricing/",
      "excerpt": "Rev was founded in 2010 and is based in San Francisco and Austin.",
      "confidence": "low"
    },
    {
      "field": "stability",
      "url": "https://docs.rev.ai/changelog/",
      "excerpt": "Non-English language support transitioned from Open Beta to General Availability on 2022-05-20",
      "confidence": "medium"
    }
  ],
  "fields_not_found": [
    "iso_27001 (not mentioned on security page)",
    "pci_dss as API certification (only mentioned as payment processing compliance, not API data certification)",
    "dedicated SLA document (99.99% uptime cited on homepage but no published SLA document found)",
    "sandbox_available (test_mode parameter runs in live environment returning dummy transcripts, not a dedicated sandbox)",
    "deprecation_policy_url",
    "idempotency_supported",
    "webhook_signing",
    "sla_url",
    "ga_date",
    "error_format_schema"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-21T00:00:00.000Z",
  "contribute": {
    "note": "This data is crowd-editable. Suggest corrections or leave a review via these endpoints - no auth required, requests are rate-limited, and every submission is reviewed before it goes live. For a field edit, {field} is any key in this response and a citation is required.",
    "endpoints": [
      {
        "action": "review",
        "label": "Leave a review or comment",
        "method": "POST",
        "url": "https://apio.sh/api/feedback/rev-ai",
        "example_body": {
          "kind": "review",
          "rating": 5,
          "body": "Your experience with this API…"
        }
      },
      {
        "action": "field_edit",
        "label": "Suggest a correction to a field (cite a source)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/rev-ai/{field}",
        "example_body": {
          "value": "corrected value",
          "citations": [
            {
              "url": "https://source.example/page",
              "excerpt": "supporting quote"
            }
          ],
          "note": "what changed and why"
        }
      },
      {
        "action": "new_api",
        "label": "Suggest a new API to add (only name is required - send as much as you can cite)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/api",
        "example_body": {
          "value": {
            "name": "Acme Email API",
            "website_url": "https://acme.example",
            "vendor_name": "Acme",
            "categories": [
              "email"
            ],
            "pricing_model": "usage_based",
            "has_published_pricing": true,
            "free_tier_available": true,
            "price_points": [
              {
                "plan": "Pay as you go",
                "item": "1,000 emails",
                "amount_usd": 1,
                "per": "1,000 emails",
                "source_url": "https://acme.example/pricing"
              }
            ],
            "soc2": "type_2",
            "docs_url": "https://docs.acme.example"
          },
          "citations": [
            {
              "url": "https://acme.example/pricing",
              "excerpt": "$1 per 1,000 emails"
            }
          ]
        },
        "value_schema": [
          {
            "field": "name",
            "type": "string",
            "label": "Product name (the only required field)"
          },
          {
            "field": "website_url",
            "type": "string",
            "label": "Marketing website URL"
          },
          {
            "field": "vendor_name",
            "type": "string",
            "label": "Company/vendor name behind the product"
          },
          {
            "field": "vendor_description",
            "type": "string",
            "label": "One-line description, quoted from the vendor"
          },
          {
            "field": "categories",
            "type": "string[]",
            "label": "Category/leaf slugs it belongs to, e.g. [\"email\",\"sms\"]"
          },
          {
            "field": "primary_use_cases",
            "type": "string[]",
            "label": "What it's used for"
          },
          {
            "field": "supported_actions",
            "type": "string[]",
            "label": "Concrete API actions/capabilities"
          },
          {
            "field": "supported_regions",
            "type": "string[]",
            "label": "Countries/regions/data-residency"
          },
          {
            "field": "supported_languages",
            "type": "string[]",
            "label": "Human/spoken languages supported"
          },
          {
            "field": "input_types",
            "type": "string[]",
            "label": "Accepted input types/formats"
          },
          {
            "field": "output_types",
            "type": "string[]",
            "label": "Produced output types/formats"
          },
          {
            "field": "webhooks_supported",
            "type": "bool",
            "label": "Supports webhooks?"
          },
          {
            "field": "sandbox_available",
            "type": "bool",
            "label": "Dedicated sandbox/test mode?"
          },
          {
            "field": "sdk_languages",
            "type": "string[]",
            "label": "Languages with an official SDK"
          },
          {
            "field": "mcp_server_available",
            "type": "bool",
            "label": "Official MCP server?"
          },
          {
            "field": "pricing_model",
            "type": "enum",
            "label": "Pricing model",
            "values": [
              "usage_based",
              "subscription",
              "seat_based",
              "hybrid",
              "contact_sales"
            ]
          },
          {
            "field": "has_published_pricing",
            "type": "bool",
            "label": "Concrete prices published publicly?"
          },
          {
            "field": "free_tier_available",
            "type": "bool",
            "label": "Recurring/perpetual free tier (not a trial)?"
          },
          {
            "field": "free_tier_details",
            "type": "string",
            "label": "What the free tier includes"
          },
          {
            "field": "minimum_commitment",
            "type": "string",
            "label": "Any stated minimum spend/commitment"
          },
          {
            "field": "self_serve_signup",
            "type": "bool",
            "label": "Get an API key without talking to sales?"
          },
          {
            "field": "requires_sales_call",
            "type": "bool",
            "label": "Does going live require sales?"
          },
          {
            "field": "enterprise_plan_available",
            "type": "bool",
            "label": "Named enterprise tier?"
          },
          {
            "field": "starting_price_usd",
            "type": "number",
            "label": "Lowest published paid entry price (USD number)"
          },
          {
            "field": "price_basis",
            "type": "string",
            "label": "Unit the starting price is per, e.g. '1,000 emails'"
          },
          {
            "field": "free_tier_limit",
            "type": "string",
            "label": "Free-tier ceiling in literal terms"
          },
          {
            "field": "price_points",
            "type": "object[]",
            "label": "Structured prices: [{plan,item,amount_usd,amount_percent,per,source_url}]"
          },
          {
            "field": "soc2",
            "type": "enum",
            "label": "SOC 2 status",
            "values": [
              "type_2",
              "type_1",
              "in_progress",
              "none",
              "unknown"
            ]
          },
          {
            "field": "hipaa",
            "type": "bool",
            "label": "HIPAA (e.g. BAA available)?"
          },
          {
            "field": "gdpr",
            "type": "bool",
            "label": "GDPR compliance stated?"
          },
          {
            "field": "iso_27001",
            "type": "bool",
            "label": "ISO 27001 certified?"
          },
          {
            "field": "pci_dss",
            "type": "bool",
            "label": "PCI DSS compliant?"
          },
          {
            "field": "sla_published",
            "type": "bool",
            "label": "Published SLA / uptime commitment?"
          },
          {
            "field": "documented_rate_limits",
            "type": "string",
            "label": "Documented rate limits, quoted"
          },
          {
            "field": "known_restrictions",
            "type": "string[]",
            "label": "Notable documented restrictions/limits"
          },
          {
            "field": "auth_methods",
            "type": "string[]",
            "label": "Auth methods",
            "values": [
              "api_key",
              "oauth2",
              "jwt",
              "basic",
              "hmac_signature",
              "mtls",
              "session"
            ]
          },
          {
            "field": "api_style",
            "type": "enum",
            "label": "Primary API style",
            "values": [
              "rest",
              "graphql",
              "grpc",
              "soap",
              "websocket"
            ]
          },
          {
            "field": "base_url",
            "type": "string",
            "label": "API root/base URL"
          },
          {
            "field": "api_version",
            "type": "string",
            "label": "Current API version string"
          },
          {
            "field": "quickstart_url",
            "type": "string",
            "label": "Quickstart / hello-world URL"
          },
          {
            "field": "docs_url",
            "type": "string",
            "label": "Developer docs URL"
          },
          {
            "field": "api_reference_url",
            "type": "string",
            "label": "API reference URL"
          },
          {
            "field": "openapi_spec_url",
            "type": "string",
            "label": "OpenAPI spec URL"
          },
          {
            "field": "changelog_url",
            "type": "string",
            "label": "Changelog URL"
          },
          {
            "field": "status_page_url",
            "type": "string",
            "label": "Status page URL"
          },
          {
            "field": "notable_customers",
            "type": "string[]",
            "label": "Named public customers"
          },
          {
            "field": "launched_at",
            "type": "string",
            "label": "Launch date (ISO date or year)"
          }
        ]
      },
      {
        "action": "token",
        "label": "Optional - raise your rate limit",
        "method": "GET",
        "url": "https://apio.sh/api/feedback/token"
      }
    ]
  }
}