Quickstart
Make your first search with Mux in under five minutes.
Mux is one API and one bill for the modern search providers: Exa, Parallel and Keenable. You send a single request format, pick a model such as exa/auto or parallel/fast (or let Mux choose), and get back one normalized response. If a provider fails, Mux can fall back to the next one automatically and you are only charged for the request that succeeds.
1. Get an API key
- Sign in at getmux.io/dashboard with Google.
- Open API keys and create a key.
- Copy it right away. The secret is shown once and stored only as a hash, so it can't be recovered later.
API keys start with mux-. Put yours in an environment variable:
export MUX_API_KEY="mux-..."2. Add credits
Mux is prepaid. Searches draw down your credit balance, and a request with no balance left is rejected with 402 insufficient_credits. Add credits from Credits in the dashboard (minimum $5). See Pricing for the purchase fee.
3. Install an SDK
TypeScript / JavaScript:
npm install getmuxPython:
pip install getmuxYou can also call the HTTP API directly. The base URL is https://api.getmux.io/v1.
4. Run your first search
curl https://api.getmux.io/v1/search \
-H "Authorization: Bearer $MUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "latest developments in fusion energy", "max_results": 5}'With no model, Mux uses auto: it tries parallel/fast first, then exa/auto, then keenable/pro, and returns the first one that succeeds. See Models to pin a specific model or set your own fallback order.
5. Read the response
{
"id": "req_9fVx2kQ0b1c3dEfG",
"model": "parallel/fast",
"provider": "parallel",
"query": "latest developments in fusion energy",
"results": [
{
"title": "Fusion milestone announced",
"url": "https://example.com/fusion-milestone",
"snippet": "Researchers reported … sustained plasma for …",
"content": null,
"published_date": "2026-09-14"
}
],
"usage": { "cost_usd": 0.001, "results": 5, "latency_ms": 742, "byok": false },
"attempts": [{ "model": "parallel/fast", "source": "platform", "status": "ok" }]
}modelandprovidertell you which provider actually answered. When fallbacks are involved this can differ from the model you tried first.results[].snippetholds the relevant excerpts.contentis only filled when you ask forcontent: "full"and the provider supports it.usage.cost_usdis what this request cost. Failed attempts that were retried on another model are refunded and don't appear in the cost.attemptslists every model Mux tried, in order, with its outcome.
The full field reference is on the Search API page.
Next steps
- Authentication: API keys, management keys and key security.
- Models: choose a provider, set fallbacks, and filter by domain or date.
- Keys: create one key per agent or customer, each with its own spend limit.
- Bring your own keys: use your own Exa, Parallel or Keenable account.
- SDKs: every method in the TypeScript and Python clients.