suprsonic
Get started
New: Founden Build APIHomeAPIsBlogPlansSign In
Get Started
// Turn your vision into an empire <3
suprsonic

The unified agent API.

Product
  • APIs
  • Plans
  • Reference
  • O-mega
  • Founden
  • Suprbrowser
Company
  • O-mega Platform
  • Founden
  • Blog
  • Contact
Resources
  • API Keys
  • Support
Legal
  • Privacy Policy
  • Terms of Service

© 2026 suprsonic (by O-mega Enterprise, Inc.). All rights reserved.

suprsonic

API Reference

Get started

One API key, every capability your AI agent needs

Get started

Suprsonic is a unified API for AI agents. Instead of integrating dozens of providers for search, scraping, enrichment, image generation, transcription, messaging, and more, you add one API key and get all of them.

No provider authentication required. Suprsonic manages all provider subscriptions internally. You never need OAuth flows, per-provider API keys, or token management for any capability. Just your Suprsonic key.

Every capability uses the same authentication, the same response format, and the same credit system. If a provider fails, Suprsonic automatically falls back to the next one. You don't manage retries, credentials, or individual provider accounts.

Available as a REST API, Python SDK, TypeScript SDK, and MCP server. Use whichever fits your stack.

Step 1: Get your API key

Create a key in the API Keys tab. It starts with omk_ and works across every capability.

Step 2: Make your first call

pip install suprsonic from suprsonic import Suprsonic client = Suprsonic("omk_your_key") result = client.search("latest AI funding rounds") print(result.data)
npm install suprsonic import { Suprsonic } from "suprsonic"; const client = new Suprsonic("omk_your_key"); const result = await client.search("latest AI funding rounds"); console.log(result.data);
{ "mcpServers": { "suprsonic": { "url": "https://suprsonic.ai/v1/mcp", "headers": { "Authorization": "Bearer omk_your_key" } } } }
{ "mcpServers": { "suprsonic": { "command": "npx", "args": ["-y", "suprsonic-mcp"], "env": { "SUPRSONIC_API_KEY": "omk_your_key" } } } }
curl -X POST https://suprsonic.ai/v1/search \ -H "Authorization: Bearer omk_your_key" \ -H "Content-Type: application/json" \ -d '{"query": "latest AI funding rounds", "mode": "ai"}'

Every option above hits the same API, uses the same key, and deducts from the same credit balance.

Authentication

API key authentication and rate limits

Authentication

All unified agent APIs use Bearer token authentication. Include your API key in the Authorization header of every request.

Authorization: Bearer omk_your_key_here

API keys are created in the API Keys section. Each key works across all capabilities and is tied to your account and credit balance. Keys can be revoked at any time.

Rate limits

Default: 60 requests per minute per key. Rate limit headers are included in every response:

X-RateLimit-Remaining: 58 X-RateLimit-Limit: 60 X-RateLimit-Reset: 1713400060 X-Credits-Used: 2

Credit costs

Per-capability credit pricing

Credit costs

Each capability costs a fixed number of credits per successful call. Failed requests are free. Capabilities with modes let you choose the cost/quality tradeoff.

/v1/search

SERP: 1AI: 2Deep: 3

Search the web with SERP, AI synthesis, or both

/v1/scrape

Fast: 1Standard: 2Thorough: 5

Extract content from any URL as Markdown or HTML

/v1/profiles/find

3 credits

Find and enrich professional profiles

/v1/emails/find

2 credits

Find professional email addresses

/v1/images/generate

3 credits

Generate images from text prompts

/v1/speech/synthesize

2 credits

Convert text to speech audio

/v1/speech/transcribe

2 credits

Transcribe audio to text with timestamps

/v1/sounds/generate

4 credits

Generate sound effects and short music tracks from text prompts (NOT speech: use tts for spoken voice)

/v1/messages/send

1 credit

Send SMS or WhatsApp messages. Default channel is SMS (reliable delivery). WhatsApp requires recipient opt-in: they must have messaged your Business number within 24 hours.

/v1/documents/extract

3 credits

Extract structured data from URLs or content

/v1/companies/find

3 credits

Enrich company data by domain

/v1/emails/verify

1 credit

Check if an email is deliverable, catch-all, or disposable

/v1/audio/transcribe

3 credits

Transcribe audio with speaker diarization and timestamps

/v1/invoices/parse

3 credits

Extract structured data from invoices and receipts

/v1/subtitles/generate

2 credits

Generate SRT/VTT subtitles from audio or video

/v1/files/convert

2 credits

Convert documents, web pages, spreadsheets and images between formats

/v1/images/remove-background

2 credits

Remove background from any image. Returns transparent PNG.

/v1/screenshots/capture

1 credit

Capture a rendered screenshot of any webpage

/v1/code/execute

2 credits

Execute code in a secure sandbox with pre-configured environments

/v1/sites/intel

Overview: 2WHOIS: 1DNS: 1Tech Stack: 2Security: 2Subdomains: 2

Get comprehensive domain intelligence: WHOIS, DNS, SSL, tech stack, email security, hosting

/v1/research

Standard: 10Deep: 20Comprehensive: 35

Multi-step deep research: search, scrape, enrich entities, and synthesize into a cited report

/v1/video/info

1 credit

Extract video metadata, available formats, and thumbnail from any URL

/v1/video/download

Video: 3Audio: 2

Download video from any URL and return a temporary download link

/v1/domains

Suggest names: 5Suggest extensions: 3Search extensions: 2Check availability: 1Pricing: 1Extension catalog: 1

Find domain names and the extensions that fit a business

The Agent API (/v1/agent) costs the same as whichever capability it routes to. Credits are returned in the credits_used field and the X-Credits-Used response header.

Errors

Error handling and status codes

Errors

All errors follow RFC 7807 (Problem Details for HTTP APIs) with additional fields for agent consumption.

{ "success": false, "error": { "type": "https://api.o-mega.ai/errors/rate-limited", "title": "Rate limit exceeded", "status": 429, "detail": "You have exceeded 60 requests per minute", "is_retriable": true, "retry_after_seconds": 42, "alternative_action": "Reduce request frequency or contact support", "error_category": "transient" }, "credits_used": 0 }

Error categories

Transient

Temporary issue. Safe to retry after retry_after_seconds.

Permanent

Request is invalid. Do not retry with the same parameters.

Authentication

API key is missing, invalid, or revoked.

Billing

Insufficient credits. Upgrade plan or enable overage.

Content_access

The target content could not be accessed (blocked, CAPTCHA, etc).

HTTP status codes

200

Success. The request completed and data is in the response.

400

Bad request. Missing or invalid parameters.

401

Unauthorized. API key is missing or invalid.

402

Insufficient credits. Upgrade or enable overage.

422

Unprocessable. The request was valid but the operation failed (e.g. scrape blocked).

429

Rate limited. Retry after the specified interval.

502

Provider error. All upstream providers failed.

Response format

Unified response envelope

Response format

Every response uses the same format, regardless of which capability or provider handled the request. This makes it easy for agents to parse responses uniformly.

{ "success": boolean, "data": { ... } | null, "error": { ... } | null, "metadata": { "provider_used": "string | null", "providers_tried": ["string"], "mode_used": "string | null", "response_time_ms": number, "request_id": "string" }, "credits_used": number }

Metadata fields

provider_used

string

Which provider's data was used in the final response. 'merged' if data came from multiple providers.

providers_tried

string[]

All providers that were attempted in the waterfall, in order.

mode_used

string

The mode that was applied (e.g. 'ai', 'standard').

response_time_ms

number

Total wall-clock time for the request in milliseconds.

request_id

string

Unique request identifier for debugging and support.

SDKs

Official packages for every integration method

SDKs

Every package uses the same API key and hits the same backend. Pick whichever fits your stack.

Hosted MCP Server

Add https://suprsonic.ai/v1/mcp to Claude, ChatGPT or any MCP client that supports sign-in, and sign in to Suprsonic when it asks: no key to copy. Other clients send the header Authorization: Bearer omk_your_key. Nothing to install; your agent gets every capability as MCP tools.

MCP Server

$ npx suprsonic-mcp

The same tools as a local process, for Claude Desktop, Cursor and VS Code.

Python SDK

$ pip install suprsonic

For LangChain, CrewAI, OpenAI Agents SDK, Claude API, or any Python agent.

TypeScript SDK

$ npm install suprsonic

For Vercel AI SDK, LangChain.js, Node.js agents, or any TypeScript project.

REST API

Works with any language or framework. Use curl or any HTTP client with a Bearer token.

Machine-readable formats

For auto-generating clients or configuring agent frameworks:

OpenAPI spec

/v1/openapi.json

Filtered OpenAPI 3.1 spec with only Suprsonic capabilities.

Tool definitions

/v1/tools?format=openai

Pre-built tool schemas for OpenAI, Claude, and MCP. Formats: openai, claude, mcp, raw.

llms.txt

/llms.txt

AI-readable documentation index for agent discovery.

Agent integration

Give your AI agent every capability in one step

Agent integration

Suprsonic provides machine-readable tool definitions that any AI agent framework can consume directly. One tool definition gives your agent access to all capabilities. No manual configuration needed.

Tool definition endpoint

Fetch a ready-to-use tool definition, auto-generated from the API schema. No auth required. Choose the format that matches your agent framework.

GET /v1/tools?format=openai

OpenAI-compatible function calling schema

GET /v1/tools?format=claude

Anthropic-compatible tool use schema

GET /v1/tools?format=mcp

Model Context Protocol schema (for MCP clients)

GET /v1/tools?format=raw

Full JSON with per-capability parameter schemas, types, defaults, and descriptions

How it works

Your agent or AI coder fetches the tool definition once, registers it, and routes tool calls to POST /v1/agent. The tool definition contains all parameter names, types, required/optional markers, defaults, and descriptions. No hardcoding needed.

# 1. Fetch the tool definition (pick your format)
GET https://suprsonic.ai/v1/tools?format=openai

# 2. Register it as a tool in your agent framework
#    The response is a complete tool schema. Pass it directly.

# 3. When the agent calls the tool, forward to /v1/agent
POST https://suprsonic.ai/v1/agent
Authorization: Bearer omk_your_key_here
Content-Type: application/json

{"capability": "search", "params": {"query": "..."}}

The tool definition updates automatically when capabilities are added or parameters change. Fetch it at startup or cache it.

Other discovery endpoints

OpenAPI spec

/v1/openapi.json

Filtered OpenAPI 3.1 spec for auto-generating typed clients in any language.

llms.txt

/llms.txt

AI-readable documentation index for coding agents and RAG pipelines.

Agent API

One tool for all capabilities

POST/v1/agentUniversal

One endpoint for every capability.

Instead of registering dozens of separate tools, your agent registers one: POST /v1/agent. Specify the capability and parameters, and the system routes internally. Same response format regardless of which capability you call.

POST /v1/agent { "capability": "emails", "params": { "first_name": "Yuma", "last_name": "Heymans", "domain": "o-mega.ai" } }

Available capabilities

Search

/v1/search

Search the web and get AI-synthesized answers, raw Google SERP results, or both combined, with automatic provider routing.

Scrape

/v1/scrape

Extract content from any URL: a fast direct fetch, full JS rendering, or anti-bot proxies for sites that block scrapers.

Profiles

/v1/profiles/find

Find and enrich professional profiles by LinkedIn URL or name: IcyPeas profile data, with Exa finding the profile and its photo.

Emails

/v1/emails/find

Find verified professional email addresses by name and company domain.

Images

/v1/images/generate

Generate images from text prompts using Google GenAI with automatic fallback to DALL-E.

Tts

/v1/speech/synthesize

Convert text to natural speech using Deepgram Aura with ElevenLabs fallback.

Stt

/v1/speech/transcribe

Transcribe audio via Deepgram with confidence scores and word-level timing.

Sound-generate

/v1/sounds/generate

Generate sound effects, ambient audio, foley, and short instrumental music tracks from text descriptions. This is NOT text-to-speech: it does not produce spoken words. For voice/narration, use the tts capability instead.

Sms

/v1/messages/send

Send SMS messages reliably. WhatsApp available with recipient opt-in.

Documents

/v1/documents/extract

Extract structured data using LLM-powered analysis with a user-defined schema.

Companies

/v1/companies/find

Enrich company data with firmographics from Apollo, brand identity from BrandFetch, and qualitative analysis via LLM.

Email-verify

/v1/emails/verify

Check if an email is deliverable, catch-all, or disposable.

Transcribe

/v1/audio/transcribe

Transcribe audio/video with speaker diarization and timestamps.

Invoice-parse

/v1/invoices/parse

Extract line items, totals, dates from invoices and receipts.

Subtitle

/v1/subtitles/generate

Generate SRT/VTT subtitles from audio or video files.

File-convert

/v1/files/convert

Turn PDFs, Word, PowerPoint, Excel, web pages and images into text, markdown, PDF, CSV or other image formats.

Bg-remove

/v1/images/remove-background

Remove background from any image using AI segmentation.

Screenshot

/v1/screenshots/capture

Capture a rendered screenshot of any webpage.

Code-execute

/v1/code/execute

Execute Python, JavaScript, or shell code in an isolated Firecracker microVM sandbox.

Site-intel

/v1/sites/intel

Get WHOIS, DNS records, SSL analysis, technology fingerprinting, email security, and hosting data for any domain in one call.

Research

/v1/research

Deep research that searches the web, scrapes full content, enriches people and company entities, and synthesizes a grounded report with citations.

Video-info

/v1/video/info

Get video title, duration, thumbnail, and available quality options from YouTube, Twitter/X, TikTok, Instagram, Vimeo, LinkedIn, and 1700+ other platforms.

Video-download

/v1/video/download

Download videos from YouTube, Twitter/X, TikTok, Instagram, Vimeo, LinkedIn, and 1700+ platforms. Returns a temporary pre-signed URL valid for 1 hour.

Domains

/v1/domains

Discover brandable domain names, the extensions that fit a business (.coffee, .studio, ...), check exact-name availability across the whole extension catalog, and compare prices, all from one capability.

Python SDK

from suprsonic import Suprsonic client = Suprsonic("omk_your_key") # Convenience methods result = client.search("latest AI news") result = client.scrape("https://example.com") result = client.verify_email("john@example.com") result = client.emails.find(first_name="John", last_name="Doe", domain="example.com") # Or use .run() for any capability result = client.run("screenshot", url="https://example.com")

TypeScript SDK

import { Suprsonic } from "suprsonic"; const client = new Suprsonic("omk_your_key"); const result = await client.search("latest AI news"); const result = await client.scrape("https://example.com"); const result = await client.verifyEmail("john@example.com"); // Or use .run() for any capability const result = await client.run("screenshot", { url: "https://example.com" });

/v1/search

Search the web and get AI-synthesized answers, raw Google SERP results, or both combined, with automatic provider routing.

POST/v1/search

Search the web and get AI-synthesized answers, raw Google SERP results, or both combined, with automatic provider routing.

Search the web with SERP, AI synthesis, or both

Parameters

query

Required

string

The search query.

num_results

number (default: 10)

Maximum number of organic results (serp and deep modes).

country

string (default: us)

ISO country code of the Google results (serp and deep modes).

freshness

select (default: any)

Only sources from this window, in every mode.

Any time
Past 24 hours
Past week
Past month

Modes

The mode parameter is a preset that configures optimal provider routing for common use cases. You can also set individual parameters directly for fine-grained control.

SERP1 credits

Raw Google SERP results.

Links, snippets, knowledge graph. Fastest.

AI2 credits

AI-synthesized answers with citations.

Coherent answer with source citations. 2-4s.

Deep3 credits

SERP + AI synthesis combined.

Raw sources plus synthesized answer. 3-6s.

Example response

{ "success": true, "data": { "answer": "AI funding reached record levels in Q1 2026. OpenAI closed a $110B round at $730B valuation, Anthropic raised $30B Series G at $380B, and xAI secured $20B.", "citations": [], "organic_results": [ { "url": "https://techcrunch.com/2026/04/01/ai-funding", "title": "AI Funding Hits Record in Q1", "snippet": "Venture capital investment in AI startups reached unprecedented levels...", "position": 1 } ], "knowledge_graph": null, "featured_snippet": null }, "metadata": { "provider_used": "perplexity", "providers_tried": [ "perplexity" ], "mode_used": "ai", "response_time_ms": 7481, "request_id": "req_48a34515" }, "credits_used": 2 }
Try it in Playground

/v1/scrape

Extract content from any URL: a fast direct fetch, full JS rendering, or anti-bot proxies for sites that block scrapers.

POST/v1/scrape

Extract content from any URL: a fast direct fetch, full JS rendering, or anti-bot proxies for sites that block scrapers.

Extract content from any URL as Markdown or HTML

Parameters

url

Required

string

URL to scrape.

output

select (default: markdown)

Content format.

Markdown
HTML
Raw HTML

wait_for

string

CSS selector to wait for (standard and thorough modes).

timeout

number (default: 30)

Seconds the page may take to load (up to 55).

Modes

The mode parameter is a preset that configures optimal provider routing for common use cases. You can also set individual parameters directly for fine-grained control.

Fast1 credits

Raw HTTP, no JS. <1s.

Static HTML only.

Standard2 credits

Full JS rendering. 2-5s.

SPAs, dynamic content.

Thorough5 credits

Anti-bot proxies + JS rendering. 10-30s.

Sites that block ordinary scrapers.

Example response

{ "success": true, "data": { "content": "# Example Domain\n\nThis domain is for use in documentation examples.\n\n[Learn more](https://iana.org/domains/example)", "title": "Example Domain", "description": null, "links": [ "https://iana.org/domains/example" ], "screenshot_url": null }, "metadata": { "provider_used": "raw_http", "providers_tried": [ "raw_http" ], "mode_used": "fast", "response_time_ms": 86, "request_id": "req_10632882" }, "credits_used": 1 }
Try it in Playground

/v1/profiles/find

Find and enrich professional profiles by LinkedIn URL or name: IcyPeas profile data, with Exa finding the profile and its photo.

POST/v1/profiles/find

Find and enrich professional profiles by LinkedIn URL or name: IcyPeas profile data, with Exa finding the profile and its photo.

Find and enrich professional profiles

Parameters

linkedin_url

string

LinkedIn profile URL.

first_name

string

First name.

last_name

string

Last name.

company

string

Company name.

include_image

boolean (default: true)

Fetch profile image.

Example response

{ "success": true, "data": { "first_name": "John", "last_name": "Doe", "full_name": "John Doe", "headline": "CTO at Acme Corp", "company": "Acme Corp", "title": "Chief Technology Officer", "location": "San Francisco, CA", "summary": "Building the future of developer tools.", "experience": [ { "company": "Acme Corp", "title": "CTO", "start_date": "2022-01", "end_date": null } ], "education": [], "skills": [ "Python", "Machine Learning", "System Design" ], "profile_image_url": "https://media.licdn.com/dms/image/...", "linkedin_url": "https://linkedin.com/in/johndoe" }, "metadata": { "provider_used": "merged", "providers_tried": [ "icypeas", "exa_image" ], "mode_used": null, "response_time_ms": 4100, "request_id": "req_ghi789" }, "credits_used": 3 }
Try it in Playground

/v1/emails/find

Find verified professional email addresses by name and company domain.

POST/v1/emails/find

Find verified professional email addresses by name and company domain.

Find professional email addresses

Parameters

first_name

Required

string

First name.

last_name

Required

string

Last name.

domain

Required

string

Company domain.

company

string

Company name (optional).

Example response

{ "success": true, "data": { "email": "jane@stripe.com", "email_type": "professional", "confidence": 0.95, "verification_status": "verified", "first_name": "Jane", "last_name": "Smith", "domain": "stripe.com" }, "metadata": { "provider_used": "icypeas", "providers_tried": [ "icypeas" ], "mode_used": null, "response_time_ms": 22581, "request_id": "req_29a74754" }, "credits_used": 2 }
Try it in Playground

/v1/images/generate

Generate images from text prompts using Google GenAI with automatic fallback to DALL-E.

POST/v1/images/generate

Generate images from text prompts using Google GenAI with automatic fallback to DALL-E.

Generate images from text prompts

Parameters

prompt

Required

string

Image description.

aspect_ratio

select (default: 1:1)

Aspect ratio.

Square
Landscape
Portrait

Example response

{ "success": true, "data": { "b64_json": "iVBORw0KGgoAAAANSUhEUg...(base64 image data)", "content_type": "image/png", "prompt": "A minimal blue circle on white background", "aspect_ratio": "1:1", "image_size": "512px" }, "metadata": { "provider_used": "google_genai", "providers_tried": [ "google_genai" ], "mode_used": null, "response_time_ms": 9498, "request_id": "req_2f408e4c" }, "credits_used": 1 }
Try it in Playground

/v1/speech/synthesize

Convert text to natural speech using Deepgram Aura with ElevenLabs fallback.

POST/v1/speech/synthesize

Convert text to natural speech using Deepgram Aura with ElevenLabs fallback.

Convert text to speech audio

Parameters

text

Required

string

Text to convert (max 2000 chars).

voice_model

string

Deepgram voice model ID.

provider

select (default: auto)

TTS provider.

Auto
Deepgram
ElevenLabs

Example response

{ "success": true, "data": { "audio_base64": "//NkxAAc4FJgDHpMAQteDEe...(base64 audio data)", "format": "mp3", "sample_rate": 48000, "text": "Hello, I am your AI assistant.", "voice_model": "aura-2-thalia-en" }, "metadata": { "provider_used": "deepgram", "providers_tried": [ "deepgram" ], "mode_used": null, "response_time_ms": 2582, "request_id": "req_ba10d96a" }, "credits_used": 2 }
Try it in Playground

/v1/speech/transcribe

Transcribe audio via Deepgram with confidence scores and word-level timing.

POST/v1/speech/transcribe

Transcribe audio via Deepgram with confidence scores and word-level timing.

Transcribe audio to text with timestamps

Parameters

audio_url

string

URL to audio file.

audio_base64

string

Base64-encoded audio.

language

string (default: en)

Language code.

Example response

{ "success": true, "data": { "transcript": "Yeah. As as much as, it's worth celebrating, the first spacewalk with an all female team, I think many of us are looking forward to it just being normal.", "confidence": 0.99, "language": "en", "words": [ { "word": "yeah", "start": 0.08, "end": 0.32, "confidence": 0.99, "punctuated_word": "Yeah." }, { "word": "as", "start": 0.32, "end": 0.8, "confidence": 0.99, "punctuated_word": "As" } ], "duration_seconds": 25.93 }, "metadata": { "provider_used": "deepgram", "providers_tried": [ "deepgram" ], "mode_used": null, "response_time_ms": 1607, "request_id": "req_de622db0" }, "credits_used": 2 }
Try it in Playground

/v1/sounds/generate

Generate sound effects, ambient audio, foley, and short instrumental music tracks from text descriptions. This is NOT text-to-speech: it does not produce spoken words. For voice/narration, use the tts capability instead.

POST/v1/sounds/generate

Generate sound effects, ambient audio, foley, and short instrumental music tracks from text descriptions. This is NOT text-to-speech: it does not produce spoken words. For voice/narration, use the tts capability instead.

Generate sound effects and short music tracks from text prompts (NOT speech: use tts for spoken voice)

Parameters

prompt

Required

string

Description of the sound effect or music to generate. NOT for speech (use tts for spoken voice).

duration_seconds

number

Length of generated audio in seconds (0.5 to 22). Leave unset to let the model auto-decide based on the prompt.

prompt_influence

number (default: 0.3)

How strictly to follow the prompt (0.0 = creative, 1.0 = literal). Default 0.3.

output_format

select (default: mp3_44100_128)

Audio format and quality.

MP3 44.1kHz 128kbps
MP3 44.1kHz 192kbps
PCM 44.1kHz

Example response

{ "success": true, "data": { "audio_base64": "SUQzBAAAAAAAI1RTU0UAAAA...(base64 audio data)", "format": "mp3", "sample_rate": 44100, "duration_seconds": 2, "prompt": "short doorbell chime" }, "metadata": { "provider_used": "elevenlabs", "providers_tried": [ "elevenlabs" ], "mode_used": null, "response_time_ms": 1500, "request_id": "req_8bc6c1f9" }, "credits_used": 4 }
Try it in Playground

/v1/messages/send

Send SMS messages reliably. WhatsApp available with recipient opt-in.

POST/v1/messages/send

Send SMS messages reliably. WhatsApp available with recipient opt-in.

Send SMS or WhatsApp messages. Default channel is SMS (reliable delivery). WhatsApp requires recipient opt-in: they must have messaged your Business number within 24 hours.

Parameters

to

Required

string

Phone number (E.164).

message

Required

string

Message text.

channel

select (default: auto)

Delivery channel. Auto sends via SMS. WhatsApp requires opt-in: recipient must have messaged your Business number in the last 24 hours, otherwise the message is silently dropped by Meta.

Auto (SMS)
SMS
WhatsApp (requires opt-in)

Example response

{ "success": true, "data": { "message_id": "a361d2e2-3da4-4f5e-8a26-300e13cff0bf", "channel": "sms", "to": "+1234567890", "from": "+15551234567", "status": "sent" }, "metadata": { "provider_used": "twilio", "providers_tried": [ "twilio" ], "mode_used": null, "response_time_ms": 350, "request_id": "req_yza567" }, "credits_used": 1 }
Try it in Playground

/v1/documents/extract

Extract structured data using LLM-powered analysis with a user-defined schema.

POST/v1/documents/extract

Extract structured data using LLM-powered analysis with a user-defined schema.

Extract structured data from URLs or content

Parameters

url

string

URL to scrape and extract from.

content

string

Pre-scraped text content.

extraction_prompt

Required

string

What to extract (required unless schema is provided).

schema

object

JSON schema for extraction.

Example response

{ "success": true, "data": { "extracted": { "main_heading": "Example Domain", "links": [ { "text": "Learn more", "url": "https://iana.org/domains/example" } ] }, "source_url": "https://example.com", "content_length": 167, "truncated": false }, "metadata": { "provider_used": "llm_extraction", "providers_tried": [ "llm_extraction" ], "mode_used": null, "response_time_ms": 1716, "request_id": "req_bc82d469" }, "credits_used": 3 }
Try it in Playground

/v1/companies/find

Enrich company data with firmographics from Apollo, brand identity from BrandFetch, and qualitative analysis via LLM.

POST/v1/companies/find

Enrich company data with firmographics from Apollo, brand identity from BrandFetch, and qualitative analysis via LLM.

Enrich company data by domain

Parameters

domain

Required

string

Company domain.

company_name

string

Optional name hint.

Example response

{ "success": true, "data": { "company_name": "Stripe", "domain": "stripe.com", "description": "Stripe, Inc. is a financial infrastructure platform founded in 2010 by brothers John and Patrick Collison.", "industry": "information technology & services", "company_size": "5000+", "founded_year": 2010, "headquarters": "South San Francisco, California, United States", "employees": 8000, "annual_revenue": 5120000000, "annual_revenue_printed": "5.1B", "total_funding": 9429289778, "total_funding_printed": "9.4B", "latest_funding_stage": "Venture (Round not Specified)", "publicly_traded_symbol": null, "publicly_traded_exchange": null, "twitter_handle": "@stripe", "linkedin_handle": "http://www.linkedin.com/company/stripe", "social_links": { "twitter": "http://twitter.com/stripe", "linkedin": "http://www.linkedin.com/company/stripe", "facebook": "https://www.facebook.com/StripeHQ" }, "website": "http://www.stripe.com", "technology_names": [ ".NET", "Amazon AWS", "React", "Ruby On Rails", "Python" ], "primary_brand_color": "#635BFF", "secondary_brand_color": null, "logo_url": "https://cdn.brandfetch.io/idxAg10C0L/theme/light/logo.svg", "icon_url": "https://cdn.brandfetch.io/idxAg10C0L/w/480/h/480/theme/dark/icon.jpeg", "instagram_handle": "@stripehq", "company_kind": "PRIVATELY_HELD", "is_claimed": true, "value_proposition": "A reliable, flexible financial infrastructure that allows businesses to accept payments and offer financial services.", "ideal_customers": "Businesses of all sizes, from startups to large global enterprises." }, "metadata": { "provider_used": "merged", "providers_tried": [ "apollo", "brandfetch", "website_analysis" ], "mode_used": null, "response_time_ms": 4486, "request_id": "req_8620be37" }, "credits_used": 3 }
Try it in Playground

/v1/emails/verify

Check if an email is deliverable, catch-all, or disposable.

POST/v1/emails/verify

Check if an email is deliverable, catch-all, or disposable.

Check if an email is deliverable, catch-all, or disposable

Parameters

email

Required

string

Email to verify.

Example response

{ "success": true, "data": { "email": "john@example.com", "status": "valid", "sub_status": "", "is_free_email": false, "did_you_mean": null, "domain_age_days": "724", "smtp_provider": "g-suite", "mx_found": "true", "mx_record": "aspmx.l.google.com" }, "metadata": { "provider_used": "zerobounce", "providers_tried": [ "zerobounce" ], "mode_used": null, "response_time_ms": 416, "request_id": "req_c571c4d7" }, "credits_used": 1 }
Try it in Playground

/v1/audio/transcribe

Transcribe audio/video with speaker diarization and timestamps.

POST/v1/audio/transcribe

Transcribe audio/video with speaker diarization and timestamps.

Transcribe audio with speaker diarization and timestamps

Parameters

audio_url

Required

string

URL to audio/video file.

language

string (default: en)

Language code.

speaker_labels

boolean (default: true)

Enable speaker diarization.

Example response

{ "success": true, "data": { "transcript": "Yeah. As as much as, it's worth celebrating, the first spacewalk with an all female team, I think many of us are looking forward to it just being normal.", "confidence": 0.99, "language": "en", "duration_seconds": 25.93, "word_count": 62, "speaker_count": 1, "utterances": [ { "speaker": 0, "text": "Yeah. As as much as, it's worth celebrating,", "start": 0.08, "end": 3.3, "confidence": 0.99 }, { "speaker": 0, "text": "the first, spacewalk,", "start": 4.48, "end": 5.78, "confidence": 0.94 } ] }, "metadata": { "provider_used": "deepgram", "providers_tried": [ "deepgram" ], "mode_used": null, "response_time_ms": 1361, "request_id": "req_16129e15" }, "credits_used": 3 }
Try it in Playground

/v1/invoices/parse

Extract line items, totals, dates from invoices and receipts.

POST/v1/invoices/parse

Extract line items, totals, dates from invoices and receipts.

Extract structured data from invoices and receipts

Parameters

document_url

Required

string

URL to invoice PDF/image.

Example response

{ "success": true, "data": { "invoice_number": "INV-2026-0042", "date": "2026-04-15", "due_date": "2026-05-15", "supplier_name": "Acme Services LLC", "supplier_address": "123 Main St, San Francisco, CA 94102", "customer_name": "Widget Corp", "currency": "USD", "subtotal": 250, "total_tax": 49.99, "total_amount": 299.99, "line_items": [ { "description": "Consulting services (10 hrs)", "quantity": 10, "unit_price": 25, "total_amount": 250, "tax_rate": 0.2 } ] }, "metadata": { "provider_used": "gemini", "providers_tried": [ "gemini" ], "mode_used": null, "response_time_ms": 4200, "request_id": "req_nop012" }, "credits_used": 3 }
Try it in Playground

/v1/subtitles/generate

Generate SRT/VTT subtitles from audio or video files.

POST/v1/subtitles/generate

Generate SRT/VTT subtitles from audio or video files.

Generate SRT/VTT subtitles from audio or video

Parameters

audio_url

Required

string

URL to audio/video.

language

string (default: en)

Language code.

format

select (default: srt)

Subtitle format.

SRT
VTT

Example response

{ "success": true, "data": { "subtitle_content": "1\n00:00:00,080 --> 00:00:03,299\nYeah. As as much as, it's worth celebrating,\n\n2\n00:00:04,480 --> 00:00:05,779\nthe first, spacewalk,\n\n3\n00:00:06,319 --> 00:00:07,859\nwith an all female team,", "format": "srt", "language": "en", "duration_seconds": 25.93, "utterance_count": 8 }, "metadata": { "provider_used": "deepgram", "providers_tried": [ "deepgram" ], "mode_used": null, "response_time_ms": 1473, "request_id": "req_55f379a5" }, "credits_used": 2 }
Try it in Playground

/v1/files/convert

Turn PDFs, Word, PowerPoint, Excel, web pages and images into text, markdown, PDF, CSV or other image formats.

POST/v1/files/convert

Turn PDFs, Word, PowerPoint, Excel, web pages and images into text, markdown, PDF, CSV or other image formats.

Convert documents, web pages, spreadsheets and images between formats

Parameters

file_url

Required

string

URL of the file to convert (for source_format web, the page itself).

source_format

Required

string

Format of the file: pdf, docx, pptx, xlsx, csv, html, web (a page, from its HTML without JavaScript), txt, epub, svg, png, jpg, webp, gif, bmp, tiff or heic.

target_format

string (default: pdf)

Format to convert to. The conversion table's pairs convert in-house; other pairs go to ConvertAPI.

Example response

{ "success": true, "data": { "file_name": "report.pdf", "file_size": 48213, "file_url": "https://do54mp3xe5x8d.cloudfront.net/conversions/3f1c9a.pdf", "source_format": "docx", "target_format": "pdf" }, "metadata": { "provider_used": "suprsonic_convert", "providers_tried": [ "suprsonic_convert" ], "mode_used": null, "response_time_ms": 912, "request_id": "req_4b7d2e10" }, "credits_used": 2 }
Try it in Playground

/v1/images/remove-background

Remove background from any image using AI segmentation.

POST/v1/images/remove-background

Remove background from any image using AI segmentation.

Remove background from any image. Returns transparent PNG.

Parameters

image_url

Required

string

URL to image.

size

select (default: auto)

Output resolution.

Auto
Small
HD

Example response

{ "success": true, "data": { "image_base64": "iVBORw0KGgoAAAANSUhEUg...(base64 PNG with transparent background)", "format": "png", "content_type": "image/png" }, "metadata": { "provider_used": "rembg", "providers_tried": [ "rembg" ], "mode_used": null, "response_time_ms": 8500, "request_id": "req_4fd62009" }, "credits_used": 2 }
Try it in Playground

/v1/screenshots/capture

Capture a rendered screenshot of any webpage.

POST/v1/screenshots/capture

Capture a rendered screenshot of any webpage.

Capture a rendered screenshot of any webpage

Parameters

url

Required

string

URL to capture.

width

number (default: 1280)

Viewport width.

height

number (default: 720)

Viewport height.

format

select (default: png)

Output format.

PNG
JPG
WebP

full_page

boolean (default: false)

Capture full scrollable page.

Example response

{ "success": true, "data": { "image_base64": "iVBORw0KGgoAAAANSUhEUg...(base64 image data)", "format": "png", "width": 1280, "height": 720, "full_page": false, "size_bytes": 6325 }, "metadata": { "provider_used": "anchor", "providers_tried": [ "anchor" ], "mode_used": null, "response_time_ms": 6753, "request_id": "req_70d8a7af" }, "credits_used": 1 }
Try it in Playground

/v1/code/execute

Execute Python, JavaScript, or shell code in an isolated Firecracker microVM sandbox.

POST/v1/code/execute

Execute Python, JavaScript, or shell code in an isolated Firecracker microVM sandbox.

Execute code in a secure sandbox with pre-configured environments

Parameters

code

Required

string

The code to execute.

language

select (default: python)

Programming language.

Python
JavaScript
Shell

timeout

number (default: 30)

Max execution time (1-300s).

template

select (default: default)

Pre-configured environment.

Default
Data Science
Web Dev
Video

Example response

{ "success": true, "data": { "stdout": "Hello from Python 3.13\n", "stderr": "", "exit_code": 0, "execution_time_ms": 730, "output_files": [], "sandbox_boot_ms": 537, "template_used": "default" }, "metadata": { "provider_used": "e2b", "providers_tried": [ "e2b" ], "mode_used": null, "response_time_ms": 2085, "request_id": "req_50b9c743" }, "credits_used": 2 }
Try it in Playground

/v1/sites/intel

Get WHOIS, DNS records, SSL analysis, technology fingerprinting, email security, and hosting data for any domain in one call.

POST/v1/sites/intel

Get WHOIS, DNS records, SSL analysis, technology fingerprinting, email security, and hosting data for any domain in one call.

Get comprehensive domain intelligence: WHOIS, DNS, SSL, tech stack, email security, hosting

Parameters

domain

Required

string

Domain to analyze (e.g. stripe.com).

mode

select (default: overview)

Intelligence depth.

Overview
WHOIS
DNS
Tech Stack
Security
Subdomains

Modes

The mode parameter is a preset that configures optimal provider routing for common use cases. You can also set individual parameters directly for fine-grained control.

Overview2 credits

All signals combined.

WHOIS + DNS + SSL + hosting + email security.

WHOIS1 credits

Registration data.

Registrar, dates, nameservers, DNSSEC.

DNS1 credits

Full record dump + email security.

A, MX, NS, TXT, SPF/DMARC/DKIM.

Tech Stack2 credits

Technology fingerprinting.

CDN, frameworks, CMS, analytics from headers+HTML.

Security2 credits

Security posture with A-F grade.

SSL + email security + HTTP headers scored.

Subdomains2 credits

Subdomain discovery.

DNS brute force for 40+ common patterns.

Example response

{ "success": true, "data": { "domain": "stripe.com", "whois": { "created": "1995-09-12", "expires": "2027-09-11", "updated": "2025-10-01", "registrar": "SafeNames Ltd.", "nameservers": [ "NS-1087.AWSDNS-07.ORG", "NS-1882.AWSDNS-43.CO.UK", "NS-423.AWSDNS-52.COM", "NS-705.AWSDNS-24.NET" ], "status": [ "client delete prohibited", "client transfer prohibited" ], "dnssec": false, "source": "rdap" }, "dns": { "provider": "AWS Route 53", "a_records": [ "54.76.53.164", "52.215.231.162" ], "mx_records": [ { "priority": 10, "host": "aspmx.l.google.com" }, { "priority": 20, "host": "alt2.aspmx.l.google.com" } ], "email_provider": "Google Workspace", "has_spf": true, "spf_record": "v=spf1 ip4:198.2.180.60/32 include:spf1.stripe.com ~all", "has_dmarc": true, "dmarc_policy": "reject", "dkim_found": true, "dkim_selectors": [ { "selector": "google", "preview": "v=DKIM1; k=rsa; p=MIGfMA0G..." } ] }, "ssl": { "issuer": "DigiCert Inc", "valid_to": "2026-07-02", "days_until_expiry": 65, "protocol": "TLSv1.3", "cipher_suite": "TLS_AES_256_GCM_SHA384" }, "hosting": { "provider": "Nginx", "confidence": "medium", "ip": "54.76.53.164", "asn": "AS16509", "asn_org": "Amazon.com, Inc.", "country": "IE", "city": "Dublin" } }, "metadata": { "provider_used": "multi", "providers_tried": [ "rdap", "dnspython", "ssl", "ipinfo" ], "mode_used": null, "response_time_ms": 2721, "request_id": "req_dc74a442" }, "credits_used": 2 }
Try it in Playground

/v1/research

Deep research that searches the web, scrapes full content, enriches people and company entities, and synthesizes a grounded report with citations.

POST/v1/research

Deep research that searches the web, scrapes full content, enriches people and company entities, and synthesizes a grounded report with citations.

Multi-step deep research: search, scrape, enrich entities, and synthesize into a cited report

Parameters

query

Required

string

The research question or objective.

depth

select (default: standard)

Research depth.

Standard
Deep
Comprehensive

enrich_entities

boolean (default: true)

Enrich detected people and companies with profile and firmographic data.

include_analysis

boolean (default: false)

Generate computational analysis with charts.

synthesis

boolean (default: true)

Generate a synthesized report. Set false for raw mode (sources + entities only).

source_types

string (default: web)

Comma-separated source types: web, news, academic.

max_sources

number (default: 15)

Maximum number of sources to collect.

freshness

select (default: any)

Time filter for search results.

Any time
Past 24 hours
Past week
Past month

Modes

The mode parameter is a preset that configures optimal provider routing for common use cases. You can also set individual parameters directly for fine-grained control.

Standard10 credits

Quick research, up to 5 searches and 8 scrapes.

Fast research for factual questions. 30-60s.

Deep20 credits

Thorough research with refinement.

Multi-angle research with gap analysis. 1-3 min.

Comprehensive35 credits

Exhaustive research with iterative refinement.

Maximum depth, up to 30 searches and 40 scrapes. 3-8 min.

Example response

{ "success": true, "data": { "report": { "title": "AI Chip Startups Competing with Nvidia (2026)", "summary": "Several startups are challenging Nvidia's dominance in AI accelerators...", "sections": [ { "heading": "Market Overview", "content": "The AI chip market is projected to reach $120B by 2030 [Source 1]..." } ], "key_findings": [ "Cerebras and Groq lead in inference speed", "Custom silicon adoption growing 40% YoY" ], "confidence": 0.85 }, "sources": [ { "id": 1, "url": "https://techcrunch.com/2026/ai-chips", "title": "AI Chip Race Heats Up", "domain": "techcrunch.com", "snippet": "Startups are racing to challenge Nvidia...", "source_type": "web" } ], "entities": { "people": [ { "name": "Jensen Huang", "role": "CEO", "company": "Nvidia" } ], "companies": [ { "name": "Cerebras", "domain": "cerebras.net", "industry": "AI Hardware", "employee_count": 500 } ] }, "metadata": { "depth_used": "standard", "sources_searched": 4, "sources_scraped": 5, "sources_cited": 5, "entities_enriched": 2, "refinement_rounds": 0, "budget_exhausted": false, "total_time_ms": 35000, "steps_completed": [ "query_expansion", "web_search", "content_extraction", "entity_detection", "entity_enrichment", "synthesis" ] } }, "metadata": { "provider_used": "research_orchestrator", "providers_tried": [ "research_orchestrator" ], "mode_used": "standard", "response_time_ms": 35000, "request_id": "req_abc123" }, "credits_used": 10 }
Try it in Playground

/v1/video/info

Get video title, duration, thumbnail, and available quality options from YouTube, Twitter/X, TikTok, Instagram, Vimeo, LinkedIn, and 1700+ other platforms.

POST/v1/video/info

Get video title, duration, thumbnail, and available quality options from YouTube, Twitter/X, TikTok, Instagram, Vimeo, LinkedIn, and 1700+ other platforms.

Extract video metadata, available formats, and thumbnail from any URL

Parameters

url

Required

string

URL of the video or post containing a video.

Example response

{ "success": true, "data": { "title": "Example Video Title", "duration_seconds": 245, "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg", "uploader": "ExampleChannel", "upload_date": "2026-01-15", "view_count": 1500000, "platform": "youtube", "formats": [ { "quality": "1080p", "format_id": "137+140", "ext": "mp4", "filesize_mb": 45.2 }, { "quality": "720p", "format_id": "136+140", "ext": "mp4", "filesize_mb": 22.1 }, { "quality": "480p", "format_id": "135+140", "ext": "mp4", "filesize_mb": 12.8 }, { "quality": "audio_only", "format_id": "140", "ext": "m4a", "filesize_mb": 3.9 } ] }, "metadata": { "provider_used": "yt_dlp", "providers_tried": [ "yt_dlp" ], "response_time_ms": 2100, "request_id": "req_v1d30info" }, "credits_used": 1 }
Try it in Playground

/v1/video/download

Download videos from YouTube, Twitter/X, TikTok, Instagram, Vimeo, LinkedIn, and 1700+ platforms. Returns a temporary pre-signed URL valid for 1 hour.

POST/v1/video/download

Download videos from YouTube, Twitter/X, TikTok, Instagram, Vimeo, LinkedIn, and 1700+ platforms. Returns a temporary pre-signed URL valid for 1 hour.

Download video from any URL and return a temporary download link

Parameters

url

Required

string

URL of the video or post containing a video.

quality

select (default: 720)

Desired video quality (best available up to this resolution).

360p
480p
720p
1080p
Best available

format

select (default: mp4)

Output format.

MP4 (video)
MP3 (audio only)
M4A (audio only)

Modes

The mode parameter is a preset that configures optimal provider routing for common use cases. You can also set individual parameters directly for fine-grained control.

Video3 credits

Download as MP4 video.

Full video+audio merged into MP4. 5-60s depending on length.

Audio2 credits

Extract audio only.

Audio track as MP3 or M4A. Faster, smaller file.

Example response

{ "success": true, "data": { "download_url": "https://cdn.example.com/downloads/abc123.mp4?X-Amz-Signature=...", "expires_at": "2026-05-03T14:30:00Z", "filename": "Example_Video_Title.mp4", "filesize_mb": 22.1, "duration_seconds": 245, "quality": "720p", "format": "mp4", "title": "Example Video Title", "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg" }, "metadata": { "provider_used": "yt_dlp", "providers_tried": [ "yt_dlp" ], "response_time_ms": 12500, "request_id": "req_v1d30dl" }, "credits_used": 3 }
Try it in Playground

/v1/domains

Discover brandable domain names, the extensions that fit a business (.coffee, .studio, ...), check exact-name availability across the whole extension catalog, and compare prices, all from one capability.

POST/v1/domains

Discover brandable domain names, the extensions that fit a business (.coffee, .studio, ...), check exact-name availability across the whole extension catalog, and compare prices, all from one capability.

Find domain names and the extensions that fit a business

Parameters

mode

select (default: suggest-names)

Which domain capability to run.

Suggest names
Suggest extensions
Search extensions
Check availability
Pricing
Extension catalog

company_name

string

The business name (suggest-extensions), or for suggest-names a natural-language brief: any ordering or limit it states (for example "shortest" or "renewal under $15") is read and applied beneath your explicit search_options.

description

string

What the business does; grounds the fit (suggest-* modes).

company_id

string

Optional O-mega/Founden company id; pulls the real business brief to ground the fit.

purpose

select

What the domain is for (suggest-names / suggest-extensions): website (the site address), cold (a dedicated cold-email domain, kept apart from the site) or extra. Context the model weighs when judging fit; it sets no search options, which are yours to choose (search_options) from what the company needs.

Site address
Cold email
Extra domain

search_options

object

Search options, only the fields you set (suggest-names / search-extensions / suggest-extensions): priorities (objective keys in priority order: total_length, annual_price, renewal_price, registration_total, semantic_fit, brandability, label_length), max_total_length and max_label_length (characters), max_annual_price, max_renewal_price and max_registration_total (USD), hacks (include, exclude or only) and allow_premium (boolean). A field you set wins over what the company_name brief asks for; null (or priorities: []) leaves that field to the brief; unknown keys are rejected. Options that do not apply to a mode are ignored there. The response echoes the effective options (search-extensions: search_options; suggest-names: search_plan.search_options).

query

string

An exact name to check across extensions (search-extensions).

domains

array

Full domains to check, e.g. ["brewhaven.com"] (check-availability).

tlds

array

Extensions to price (pricing), to check the name across (search-extensions), or to restrict name ideas to (suggest-names).

exact_extension

boolean (default: false)

search-extensions: check ONLY the typed extension.

offset

number (default: 0)

search-extensions: pagination offset into the catalog.

Modes

The mode parameter is a preset that configures optimal provider routing for common use cases. You can also set individual parameters directly for fine-grained control.

Suggest names5 credits

Brandable domain name ideas.

Luna name ideas + domain hacks, each checked for availability and price, filtered by the search options' limits and ranked by their priorities.

Suggest extensions3 credits

Extensions that fit the business.

The .tld choices that fit what the business does, each with a reason and base price; picks over a price cap are dropped.

Search extensions2 credits

One name across the catalog.

Availability + price of one exact name across the whole extension catalog, plus domain-hack splits of the name, filtered and ordered by the search options, paged 50 at a time.

Check availability1 credits

Availability for a domain list.

Availability, premium and EAP status for a list of full domains.

Pricing1 credits

Comparison price per extension.

Namecheap comparison price for a list of extensions.

Extension catalog1 credits

The full extension catalog.

Every registrable extension, enriched with length, popularity and theme.

Example response

{ "success": true, "data": { "extensions": [ { "tld": "coffee", "reason": "Directly identifies a coffee brand.", "price": "$32.99/yr" } ] }, "metadata": { "provider_used": "name.com", "mode_used": "suggest-extensions", "response_time_ms": 1800, "request_id": "req_dom123" }, "credits_used": 3 }
Try it in Playground