# Quick Start (/docs)

Get started with Orakle via the SDK, an MCP client, or the REST API.



You can use Orakle through the [dashboard](/dashboard) for ad-hoc pricing, or
programmatically over the API. The **SDK** is the fastest path for application
code, **MCP** drops pricing into any AI client, and the **REST API** is the
raw surface for everything else.

## 1. Get an API key [#1-get-an-api-key]

Create a key in your [dashboard](/dashboard). The dashboard is also where you
see past runs, track usage, and manage billing. Keys are shown once — store it
like a password.

## 2. SDK quick start [#2-sdk-quick-start]

Install the TypeScript SDK:

<Tabs items="[&#x22;pnpm&#x22;, &#x22;npm&#x22;]">
  <Tab value="pnpm">
    ```bash
    pnpm add orakle
    ```
  </Tab>

  <Tab value="npm">
    ```bash
    npm install orakle
    ```
  </Tab>
</Tabs>

One call submits the job, streams it, and resolves the final result. Use a
natural-language `query`, or pass `request_type: "structured"` with typed
product fields for the most accurate output (see the
[TypeScript SDK](/docs/sdks/typescript) for the structured shape):

```ts
import { OrakleClient } from "orakle";

const orakle = new OrakleClient({ apiKey: process.env.ORAKLE_API_KEY! });

const result = await orakle.priceCheck({
  request_type: "nl",
  query: "iPhone 15 Pro 128GB Grade B unlocked",
  geography: "US",
});

console.log(result.fused_distribution.quantiles);
// { "0.1": 780, "0.5": 870, "0.9": 960 }
```

See [TypeScript](/docs/sdks/typescript) for the TypeScript client.

## 3. MCP quick start [#3-mcp-quick-start]

Connect any MCP-capable AI app and let the model price products in chat. The
server URL is:

```text
https://api.orakle.xyz/v1/mcp
```

In an AI web app, add it as a custom connector under **Settings →
Connectors**. On first use your browser opens to authorize. Then ask the
model to price something — it calls the `get_pricing` tool directly. Full
setup in [MCP](/docs/mcp).

## What you get [#what-you-get]

Every completed pricing job returns:

* **`product_profile`** — the normalized product Orakle priced.
* **`fused_distribution`** — the calibrated price distribution: `quantiles`
  (e.g. `"0.1"`, `"0.5"`, `"0.9"`) and the market `currency`. Use the median
  for a point estimate, the spread for confidence.
* **`scenario_forecast`** — a scenario-weighted forward view (may be `null`).

<Callout title="The spread is the signal">
  A wide distribution means the market is genuinely uncertain about this item —
  that is information, not noise. Don't collapse it to a single number too early.
</Callout>

## Next [#next]

<Cards>
  <Card title="TypeScript SDK" href="/docs/sdks/typescript" description="Typed client that wraps submit, stream, and result into one call." />

  <Card title="MCP Server" href="/docs/mcp" description="Connect any MCP-capable AI app and price products in chat." />

  <Card title="REST API" href="/docs/api" description="The raw surface — submit a job, stream progress over SSE, read the result." />
</Cards>

## Built for LLMs too [#built-for-llms-too]

Every page is available as raw Markdown — append `.md` to any docs URL, or use
[`/llms.txt`](/llms.txt) and [`/llms-full.txt`](/llms-full.txt) to feed the
entire documentation set to an agent.