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

# Crates.io

> Fetch Rust crate information from the official Rust package registry.

# Crates.io

**Base URL:** `https://drain.lat/api/v1/crates`

<AccordionGroup>
  <Accordion title="GET /crate/:name" icon="box">
    Fetch Rust crate information from crates.io.

    ```
    GET /api/v1/crates/crate/:name
    ```

    <ParamField path="name" type="string" required>
      The crate name to look up.
    </ParamField>

    <CodeGroup>
      ```bash cURL theme={null}
      curl "https://drain.lat/api/v1/crates/crate/serde" \
        -H "x-api-key: YOUR_API_KEY"
      ```

      ```javascript JavaScript theme={null}
      const res = await fetch("https://drain.lat/api/v1/crates/crate/serde", {
        headers: { "x-api-key": "YOUR_API_KEY" }
      });
      const data = await res.json();
      ```

      ```python Python theme={null}
      import requests

      res = requests.get(
          "https://drain.lat/api/v1/crates/crate/serde",
          headers={"x-api-key": "YOUR_API_KEY"}
      )
      print(res.json())
      ```
    </CodeGroup>

    <ResponseField name="name" type="string">Crate name.</ResponseField>
    <ResponseField name="version" type="string">Latest version.</ResponseField>
    <ResponseField name="description" type="string">Crate description.</ResponseField>
    <ResponseField name="downloads" type="number">Total downloads.</ResponseField>
    <ResponseField name="recentDownloads" type="number">Recent downloads (last 90 days).</ResponseField>
    <ResponseField name="repository" type="string">Repository URL.</ResponseField>
    <ResponseField name="homepage" type="string">Homepage URL.</ResponseField>
    <ResponseField name="documentation" type="string">Documentation URL.</ResponseField>
    <ResponseField name="keywords" type="array">Crate keywords.</ResponseField>
    <ResponseField name="categories" type="array">Crate categories.</ResponseField>
    <ResponseField name="createdAt" type="string">Crate creation date (ISO 8601).</ResponseField>
    <ResponseField name="updatedAt" type="string">Last update date.</ResponseField>
    <ResponseField name="versions" type="number">Total number of versions.</ResponseField>
    <ResponseField name="cratesUrl" type="string">Link to the crates.io page.</ResponseField>

    ```json Response theme={null}
    {
      "name": "serde",
      "version": "1.0.197",
      "description": "A generic serialization/deserialization framework",
      "downloads": 500000000,
      "recentDownloads": 25000000,
      "repository": "https://github.com/serde-rs/serde",
      "homepage": "https://serde.rs",
      "documentation": "https://docs.rs/serde",
      "keywords": ["serde", "serialization"],
      "categories": ["encoding"],
      "createdAt": "2014-11-11T00:00:00Z",
      "updatedAt": "2024-02-28T00:00:00Z",
      "versions": 198,
      "cratesUrl": "https://crates.io/crates/serde",
      "scrapedAt": "2026-05-31T00:00:00Z"
    }
    ```
  </Accordion>
</AccordionGroup>
