> ## 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.

# List Templates

> List every template you can run, filtered by category, site or text.

Lists the templates you can run. No API key is needed. Filter with `category`, `site` or `q`.

```bash theme={null}
curl "https://api.spidra.io/api/templates?site=google-maps"
```

Each template looks like this (the first of five Google Maps templates):

```json theme={null}
{
  "slug": "google-maps-leads",
  "version": 4,
  "title": "Google Maps leads",
  "summary": "Businesses with phone, website, rating and address for a search in one or more areas, plus emails and social links if you want them.",
  "site": { "key": "google-maps", "name": "Google Maps", "domain": "google.com" },
  "categories": ["lead-generation"],
  "tool": "batch",
  "featured": true,
  "gallery": true,
  "status": "active",
  "fields": ["Name", "Category", "Phone", "Website", "Emails", "Instagram", "Facebook", "LinkedIn", "Rating", "Reviews", "Address", "Maps link"],
  "usesAi": false,
  "availability": null
}
```

The response also lists every `categories` value (`lead-generation`, `reviews`, `ecommerce`, `jobs`, `social-media`, `real-estate`, `ai-and-documents`, `research`, `travel`) and every `sites` value, for filtering.

* `fields` are the columns the results table shows by default. Rows have more fields than these.
* `usesAi` is `true` for the few templates that extract with AI, which adds token credits.
* `availability` is `null` unless the template has a notice (`state: "notice"`, it still runs) or is paused (`state: "off"`, runs are refused). Paused templates aren't listed.


## OpenAPI

````yaml GET /templates
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:
  /templates:
    get:
      tags:
        - Templates
      summary: List Templates
      description: >-
        Every template you can run, with its site, the tool it uses and its
        default columns. No API key needed.
      parameters:
        - name: category
          in: query
          required: false
          schema:
            type: string
          description: >-
            Only this category, such as `lead-generation` or `ecommerce`. The
            response lists them in `categories`.
        - name: site
          in: query
          required: false
          schema:
            type: string
          description: >-
            Only templates for this site, such as `google-maps` or `amazon`. The
            response lists them in `sites`.
        - name: q
          in: query
          required: false
          schema:
            type: string
          description: Only templates whose title, summary or site contains this text.
      responses:
        '200':
          description: The templates.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  templates:
                    type: array
                    items:
                      $ref: '#/components/schemas/TemplateSummary'
                  categories:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        label:
                          type: string
                  sites:
                    type: array
                    items:
                      $ref: '#/components/schemas/TemplateSite'
      security: []
components:
  schemas:
    TemplateSummary:
      type: object
      properties:
        slug:
          type: string
          description: The template's ID, used in every other call.
        version:
          type: integer
          description: Goes up when the template's inputs or output change.
        title:
          type: string
        summary:
          type: string
        site:
          $ref: '#/components/schemas/TemplateSite'
        categories:
          type: array
          items:
            type: string
        tool:
          type: string
          enum:
            - batch
            - search
            - crawl
            - map
            - parse
          description: The Spidra tool the template runs.
        featured:
          type: boolean
        gallery:
          type: boolean
          description: false for templates listed only under their site in the dashboard.
        status:
          type: string
          enum:
            - active
            - beta
        fields:
          type: array
          items:
            type: string
          description: The columns the results table shows by default.
        usesAi:
          type: boolean
          description: true when the template extracts with AI, which adds token credits.
        availability:
          type:
            - object
            - 'null'
          properties:
            state:
              type: string
              enum:
                - notice
                - 'off'
            message:
              type:
                - string
                - 'null'
          description: >-
            Null normally. `notice`: the template runs but has a message to
            read. `off`: paused, runs are refused.
    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.