> ## Documentation Index
> Fetch the complete documentation index at: https://exa.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Code & Docs

> Find code, technical documentation, and implementation guidance with Exa Search.

export const PlaygroundQuery = ({query, category, filters}) => {
  const PLAYGROUND = "https://dashboard.exa.ai/playground/search";
  const DEFAULT_FILTERS = {
    type: "auto",
    highlights: true
  };
  const params = [`q=${encodeURIComponent(query)}`];
  if (category) params.push(`c=${encodeURIComponent(category)}`);
  params.push(`filters=${encodeURIComponent(JSON.stringify({
    ...DEFAULT_FILTERS,
    ...filters
  }))}`);
  const href = `${PLAYGROUND}?${params.join("&")}`;
  return <div className="playground-query not-prose">
      <code className="playground-query-text">{query}</code>
      <a className="playground-query-run" href={href} target="_blank" rel="noreferrer" title="Open in API playground" aria-label={`Open "${query}" in the API playground`}>
        {}
        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
          <path d="M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6" />
          <path d="m21 3-9 9" />
          <path d="M15 3h6v6" />
        </svg>
      </a>
    </div>;
};

Use Exa Search for repositories, technical documentation, package information, and implementation guidance with natural-language queries.

<Tip>
  Read [WebCode: Search Evals for Coding Agents](https://exa.ai/blog/webcode) to learn how Exa
  evaluates retrieval for coding tasks.
</Tip>

## Use it for

* Coding agents and code-generation tools
* Developer search and documentation products
* Debugging, migration, and configuration workflows
* Technical research across repositories, docs, and package registries

## Example queries

### Discover libraries by capability

Describe the capability, ecosystem, and constraints you care about. This retrieves candidates based on what they do instead of relying on an exact project name.

<PlaygroundQuery query="open source Rust libraries for vector similarity search" />

### Retrieve implementation documentation

Name the product and the exact operation. Search can then prioritize API documentation and implementation guides over general discussion.

<PlaygroundQuery query="Stripe webhook signature verification documentation" />

### Check version-specific changes

Include the release channel or version when compatibility matters. This reduces results about older releases.

<PlaygroundQuery query="breaking changes in the latest stable release of Pydantic v2" />

### Find reusable agent tooling

State the artifact type and task rather than searching for a broad phrase such as “AI tools.”

<PlaygroundQuery query="agent skills for extracting tables from PDFs" />

## Make a request

<CodeGroup>
  ```python Python theme={null}
  from exa_py import Exa

  exa = Exa()

  results = exa.search(
      "how to use Exa search in python",
      type="fast",
      num_results=10,
      contents={"highlights": True},
  )
  ```

  ```javascript JavaScript theme={null}
  import Exa from "exa-js";

  const exa = new Exa();

  const results = await exa.search(
    "how to use Exa search in python",
    {
      type: "fast",
      numResults: 10,
      contents: {
        highlights: true,
      },
    }
  );
  ```

  ```bash cURL theme={null}
  curl -s -X POST https://api.exa.ai/search \
    -H "Authorization: Bearer $EXA_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "query": "how to use Exa search in python",
      "type": "fast",
      "numResults": 10,
      "contents": {
        "highlights": true
      }
    }'
  ```
</CodeGroup>

## Get structured data with Exa Agent

For structured data that requires research across multiple sources, use an [Exa Agent task run](/docs/agent/quickstart). Describe the libraries, technical criteria, and output fields you need, and Agent returns schema-validated results with citations.

<Card title="Start an Agent task" icon="bot" href="/docs/agent/quickstart" cta="Open Agent guide" arrow="true">
  Compare libraries, enrich repository records, or produce a structured list from multiple technical signals.
</Card>
