# Search, with the details intact.

A TypeScript SDK for web retrieval. Choose a provider, preserve source identity, and make failure behavior explicit.

Canonical: https://searchsdk.dev/docs
Markdown: https://searchsdk.dev/docs/index.md

<a id="one-search-contract"></a>

## One search contract

The normalized API is `client.web.search(request, options?)`. Web adapters share a small request and response shape while preserving provider order, source URLs, native text, and retrieval provenance. Context.dev and TinyFish are the priority integrations; the provider catalog describes each supported boundary.

**search.ts · server**

```typescript
import { createSearch } from '@belweave/search-sdk';
import { context } from '@belweave/search-sdk/context';

const apiKey = process.env.CONTEXT_API_KEY;
if (!apiKey) throw new Error('CONTEXT_API_KEY is required');

const client = createSearch({
  provider: context({ apiKey }),
  timeoutMs: 10_000,
});

const response = await client.web.search({
  query: 'SQLite write concurrency',
  limit: 5,
});

for (const result of response.results) {
  console.log(result.title ?? result.url, result.url);
}
console.log(response.provider, response.attempts);
```

<a id="choose-your-path"></a>

## Choose your path

- [Install the SDK](https://searchsdk.dev/docs/installation): Add the alpha package to your Node server.
- [Run without a key](https://searchsdk.dev/docs/quickstart#try-without-credentials): Use deterministic local fixtures.
- [Explore all providers](https://searchsdk.dev/docs/providers): See normalized support and native boundaries.
- [Handle failures deliberately](https://searchsdk.dev/docs/reliability/fallback): Set an ordered fallback chain and bounded deadlines.

<a id="what-is-verified"></a>

## Web results and native operations

Normalized search is a deliberately narrow surface. Provider-native clients preserve different operations and response shapes; their documentation is separate. A search snippet, an extracted page, a generated answer, and a corpus passage carry different meaning.

- [Verification and limits](https://searchsdk.dev/docs/reliability/verification)
