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

# Get a Preset

> One saved preset with its template and inputs, or its tool request.

```bash theme={null}
curl "https://api.spidra.io/api/presets/15415447-7680-4dc5-90a0-f7a900c7f418" \
  -H "Authorization: Bearer $SPIDRA_API_KEY"
```

A template preset:

```json theme={null}
{
  "status": "success",
  "data": {
    "id": "15415447-7680-4dc5-90a0-f7a900c7f418",
    "name": "Dentists in Lekki",
    "description": null,
    "kind": "template",
    "tool": "batch",
    "template": {
      "slug": "google-maps-leads",
      "version": 4,
      "title": "Google Maps leads",
      "site": { "key": "google-maps", "name": "Google Maps", "domain": "google.com" },
      "available": true
    },
    "inputs": { "query": "dentist", "areas": ["Lekki, Lagos"], "pages": 1, "findContacts": false, "language": "en" },
    "config": null,
    "columns": null,
    "inputsSummary": "dentist · Lekki, Lagos · 1",
    "createdAt": "2026-10-24T18:48:38.000Z",
    "updatedAt": "2026-10-24T18:48:38.000Z"
  }
}
```

A tool preset has `kind: "tool"`, `template: null`, `inputs: null`, and its request body in `config`.

* `template.available` is `false` if the template was retired. Such a preset can't run.
* `columns` is `null` when the preset uses the template's own columns.
* The response also has older snake\_case fields (`uuid`, `urls`, `extraction_prompt`, `use_proxy` and others) kept for presets saved before October 2026. Use the camelCase ones above.


## OpenAPI

````yaml GET /presets/{presetId}
openapi: 3.1.0
info:
  title: Spidra API
  version: 1.0.0
  description: >-
    Public API endpoints for web scraping via Spidra. Authenticate with
    `Authorization: Bearer YOUR_API_KEY`.
servers:
  - url: https://api.spidra.io/api
security:
  - BearerAuth: []
  - ApiKeyAuth: []
paths:
  /presets/{presetId}:
    get:
      tags:
        - Presets
      summary: Get a Preset
      description: One preset.
      parameters:
        - name: presetId
          in: path
          required: true
          schema:
            type: string
          description: The preset's ID.
      responses:
        '200':
          description: The preset.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  data:
                    $ref: '#/components/schemas/Preset'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No preset with this ID on your account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Preset:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type:
            - string
            - 'null'
        kind:
          type: string
          enum:
            - template
            - tool
        tool:
          type:
            - string
            - 'null'
          description: >-
            scrape, batch, crawl, map, search or parse (for a template preset,
            the tool its template runs).
        template:
          type:
            - object
            - 'null'
          properties:
            slug:
              type: string
            version:
              type: integer
            title:
              type: string
            site:
              $ref: '#/components/schemas/TemplateSite'
            available:
              type: boolean
              description: false when the template no longer exists.
        inputs:
          type:
            - object
            - 'null'
          description: 'Template presets: the template''s inputs.'
        config:
          type:
            - object
            - 'null'
          description: 'Tool presets: the request body for the tool.'
        columns:
          type:
            - array
            - 'null'
          items:
            type: object
            properties:
              key:
                type: string
              label:
                type: string
              format:
                type: string
          description: >-
            Template presets: the table columns the dashboard shows. Null means
            the template's own.
        inputsSummary:
          type:
            - string
            - 'null'
          description: The main inputs in one line, for lists.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      description: >-
        Presets saved before October 2026 also carry older snake_case fields
        (urls, extraction_prompt, use_proxy and so on).
    ErrorResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - error
        message:
          type: string
      required:
        - status
        - message
    TemplateSite:
      type:
        - object
        - 'null'
      properties:
        key:
          type: string
        name:
          type: string
        domain:
          type: string
      description: >-
        The site the template reads. Null for templates that work on any
        website.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.