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

# Search Templates

> Search Octoparse scraping templates and inspect their input schema before running executeTask.

<Info>
  The request builder, cURL example, and response schema are generated from the OpenAPI definition in the API panel. Use this page for workflow guidance and AgentTools-specific rules.
</Info>

Search Octoparse scraping templates when the client does not already know which template to run.

<Steps>
  <Step title="Search for candidate templates">
    Use `keyword`, `id`, `slug`, `limitIds`, or `tags` to narrow the template list.
  </Step>

  <Step title="Inspect the recommended template">
    Read `recommendedTemplateName`, `inputSchema`, `sourceTree`, `sourceSummary`, and `outputSchema` from `response.data`.
  </Step>

  <Step title="Prepare executeTask">
    Use each `inputSchema.field` value as the stable parameter key for `executeTask`.
  </Step>
</Steps>

```text theme={null}
searchTemplates -> executeTask -> exportData
```

<CardGroup cols={2}>
  <Card title="Authentication" icon="key">
    Prefer `x-api-key`. `x-client` and `accept-language` are optional.
  </Card>

  <Card title="Business data" icon="braces">
    Read business fields from `response.data`. Use `requestId` only for troubleshooting.
  </Card>
</CardGroup>

<Warning>
  For source-backed fields, clients must pass the option key to `executeTask`, not the display label.
</Warning>

<AccordionGroup>
  <Accordion title="Important response fields">
    `recommendedTemplateName` is the best matching template name to pass to `executeTask`.

    `templates` contains matched templates and their metadata.

    `inputSchema` describes the inputs for the recommended template. Use `field` as the parameter key.

    `sourceTree` and `sourceSummary` describe source-backed options when a template requires selection.

    `outputSchema` describes expected output fields.
  </Accordion>

  <Accordion title="What to call next">
    Follow `suggestedNextCall`, `workflow`, and `toolHint` when deciding whether to call `executeTask`.
  </Accordion>
</AccordionGroup>
