youdotcom-api

GitHub 作者 youdotcom-oss

Integrate You.com APIs (Research, Search, Contents) into any language using direct HTTP calls — no SDK required. - MANDATORY TRIGGERS: YDC API, You.com API integration, ydc-api, direct API integration, no SDK, Research API, youdotcom API, you.com REST API - Use when: developer wants to call You.com APIs directly without an SDK wrapper

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install github:LeoYeAI~openclaw-master-skills~youdotcom-api
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/github%3ALeoYeAI~openclaw-master-skills~youdotcom-api/file -o youdotcom-api.md
# Integrate You.com APIs Directly

Build applications that call You.com APIs using standard HTTP clients — no SDK required. The APIs use simple REST endpoints with API key authentication.

You.com provides three APIs that serve different needs:

- **Research API** — Ask a complex question, get a synthesized Markdown answer with inline citations. The API autonomously runs multiple searches, reads pages, cross-references sources, and reasons over the results. One call replaces an entire RAG pipeline.
- **Search API** — Get raw web and news results for a query. You control what happens with the results — feed them into your own LLM, build a custom UI, or process them programmatically.
- **Contents API** — Extract full page content (HTML, Markdown, metadata) from specific URLs. Useful for deep-reading pages found via Search or for crawling known URLs.

## Choose Your Path

**Path A: Research API** — One call to get a cited, synthesized answer to any question
**Path B: Search + Contents** — Raw building blocks for custom search pipelines and data extraction

## Decision Point

**Ask: Do you need a ready-to-use answer with citations, or raw search results you'll process yourself?**

- **Synthesized answer** → Path A (recommended for most use cases, and easier to use)
- **Raw results / custom processing** → Path B

**Also ask:**
1. What language are you using?
2. Where should the code be saved?
3. What are you building? (See [Use Cases](#use-cases) below)
4. What testing framework do you use?

---

## API Reference

All APIs use the same authentication: `X-API-Key` header with the You.com API key. Users can get one for free at https://you.com/platform.

JSON Schemas for parameters and responses:

| Endpoint | Input Schema | Output Schema |
|----------|-------------|---------------|
| Search | [search.input.schema.json](assets/search.input.schema.json) | [search.output.schema.json](assets/search.output.schema.json) |
| Research | [research.input.schema.json](assets/research.input.schema.json) | [research.output.schema.json](assets/research.output.schema.json) |
| Contents | [contents.input.schema.json](assets/contents.input.schema.json) | [contents.output.schema.json](assets/contents.output.schema.json) |

### Research API

**Base URL:** `https://api.you.com`
**Endpoint:** `POST /v1/research`

Returns comprehensive, research-grade answers with multi-step reasoning. The API autonomously plans a research strategy, executes multiple searches, reads and cross-references sources, and synthesizes everything into a Markdown answer with inline citations. At higher effort levels, a single query can run 1,000+ reasoning turns and process up to 10 million tokens.

**Request body (JSON):**

```json
{
  "input": "What are the environmental impacts of lithium mining?",
  "research_effort": "standard"
}
```

| Field | Required | Type | Description |
|-------|----------|------|-------------|
| input | Yes | string | Research question or complex query (max 40,000 chars) |
| research_effort | No | string | `lite`, `standard` (default), `deep`, `exhaustive` |

**Research effort levels:**

| Level | Behavior | Typical Latency | Best For |
|-------|----------|-----------------|----------|
| `lite` | Quick answer, minimal searching | <2s | Simple factual questions, low-latency applications |
| `standard` | Balanced speed and depth | 10-30s | General-purpose questions, most applications (default) |
| `deep` | More searches, deeper cross-referencing | <120s | Multi-faceted questions, competitive analysis, due diligence |
| `exhaustive` | Maximum thoroughness, extensive verification | <300s | High-stakes research, regulatory compliance, comprehensive reports |

**Response:**

```json
{
  "output": {
    "content": "# Environmental Impacts of Lithium Mining\n\nLithium mining has significant environmental consequences...[1][2]...",
    "content_type": "text",
    "sources": [
      {
        "url": "https://example.com/lithium-impact",
        "title": "Environmental Impact of Lithium Extraction",
        "snippets": ["Lithium extraction in South America's lithium triangle requires..."]
      }
    ]
  }
}
```

The `content` field contains Markdown with inline citation numbers (e.g. `[1]`, `[2]`) that reference the `sources` array. Every claim is traceable to a specific source URL.

### Search API

**Base URL:** `https://ydc-index.io`
**Endpoint:** `GET /v1/search`

Returns raw web and news results for a query. Use this when you need full control over result processing — feeding results into your own LLM, building custom UIs, or applying your own ranking/filtering.

**Query parameters:**

| Parameter | Required | Type | Description |
|-----------|----------|------|-------------|
| query | Yes | string | Search terms; supports [search operators](https://docs.you.com/search/search-operators) |
| count | No | integer | Results per section (1-100, default: 10) |
| freshness | No | string | `day`, `week`, `month`, `year`, or `YYYY-MM-DDtoYYYY-MM-DD` |
| offset | No | integer | Pagination (0-9). Calculated in multiples of `count` |
| country | No | string | Country code (e.g. `US`, `GB`, `DE`) |
| language | No | string | BCP 47 language code (default: `EN`) |
| safesearch | No | string | `off`, `moderate`, `strict` |
| livecrawl | No | string | `web`, `news`, `all` — enables full content retrieval inline |
| livecrawl_formats | No | string | `html` or `markdown` (requires livecrawl) |
| crawl_timeout | No | integer | Timeout in seconds for livecrawl (1-60, default: 10) |

**Response structure:**

```json
{
  "results": {
    "web": [
      {
        "url": "https://example.com",
        "title": "Page Title",
        "description": "Snippet text",
        "snippets": ["..."],
        "thumbnail_url": "https://...",
        "page_age": "2025-06-25T11:41:00",
        "authors": ["John Doe"],
        "favicon_url": "https://example.com/favicon.ico",
        "contents": { "html": "...", "markdown": "..." }
      }
    ],
    "news": [
      {
        "title": "News Title",
        "description": "...",
        "url": "https://...",
        "page_age": "2025-06-25T11:41:00",
        "thumbnail_url": "https://...",
        "contents": { "html": "...", "markdown": "..." }
      }
    ]
  },
  "metadata": {
    "search_uuid": "942ccbdd-7705-4d9c-9d37-4ef386658e90",
    "query": "...",
    "latency": 0.123
  }
}
```

### Contents API

**Base URL:** `https://ydc-index.io`
**Endpoint:** `POST /v1/contents`

Retrieves full webpage content in multiple formats. Use after Search to deep-read specific pages, or independently to extract content from known URLs.

**Request body (JSON):**

```json
{
  "urls": ["https://example.com/page1", "https://example.com/page2"],
  "formats": ["markdown", "metadata"],
  "crawl_timeout": 10
}
```

| Field | Required | Type | Description |
|-------|----------|------|-------------|
| urls | Yes | array of strings | URLs to fetch |
| formats | No | array | `html`, `markdown`, `metadata` |
| crawl_timeout | No | integer | Timeout in seconds (1-60, default: 10) |

**Response:**

```json
[
  {
    "url": "https://example.com/page1",
    "title": "Page Title",
    "html": "<html>...</html>",
    "markdown": "# Page Title\n...",
    "metadata": {
      "site_name": "Example",
      "favicon_url": "https://example.com/favicon.ico"
    }
  }
]
```

---

## Path A: Research API

The fastest way to add web-grounded, cited answers to any application. One API call replaces an entire search-read-synthesize pipeline.

### Install

No SDK required — use your language's built-in HTTP client.

```bash
# TypeScript (Bun — built-in fetch, nothing to install)

# TypeScript (Node.js — built-in fetch in 18+, nothing to install)

# Python
pip install requests
# or: pip install httpx
```

### Environment Variables

```bash
export YDC_API_KEY="your-key-here"
```

Get your key at: https://you.com/platform

### TypeScript

```typescript
const YDC_API_KEY = process.env.YDC_API_KEY
if (!YDC_API_KEY)