Suede
On this page

API overview

The Suede Search API returns private, ad-free search results as JSON — the same web, image, news, video, and shopping results that power Suede, with no advertising or tracking, and no retained query history tied to you.

Base URL

One global endpoint serves every account:

TEXT
https://api.suede.io

Requests are routed to the nearest infrastructure region automatically — every region serves the same API, and the optional gl parameter picks result weighting per query. There is nothing to configure.

The interactive explorer

The API host serves a live, in-browser reference. Open the root of the host (https://api.suede.io/) and it redirects to the explorer at /scalar/v1, where every endpoint is documented and callable with your own key. The machine-readable OpenAPI description is at /openapi/v1.json if you want to generate a client or import the API into another tool.

Authentication

Every request must carry your API key as a bearer token:

TEXT
Authorization: Bearer suede_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Create a key in your Suede account — see Authentication. The billable search endpoints require an active Suede membership and a positive API credit balance.

A first request

cURL
curl "https://api.suede.io/v1/search?q=hello+world" \
  -H "Authorization: Bearer $SUEDE_API_KEY"
C#
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
    new("Bearer", Environment.GetEnvironmentVariable("SUEDE_API_KEY"));
var json = await http.GetStringAsync("https://api.suede.io/v1/search?q=hello+world");
Console.WriteLine(json);
JavaScript
const res = await fetch("https://api.suede.io/v1/search?q=hello+world", {
  headers: { Authorization: `Bearer ${process.env.SUEDE_API_KEY}` },
});
console.log(await res.json());

Responses

A successful response is JSON with HTTP 200. An error uses a uniform envelope:

JSON
{ "error": { "type": "invalid_request", "message": "Query parameter 'q' is required.", "request_id": "a1b2c3d4e5f6a7b8" } }

Every response carries an X-Request-Id header (echoed as request_id in errors); quote it when contacting support. Errors lists the full set of types and status codes, and Rate limits describes throttling.

Versioning

The current version is v1, reached under the /v1 path prefix. New fields may be added to responses without a version bump, so parse defensively and ignore unknown fields. A breaking change would ship under a new version prefix.

Endpoints at a glance

Method Path Purpose
GET /v1/search Web search
GET /v1/images Image search
GET /v1/news News search
GET /v1/videos Video search
GET /v1/shopping Shopping search
GET /v1/answers Instant answers
GET /v1/usage Usage & credit balance
Was this page helpful?