[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Create scheduled report

> Set up a recurring PDF report from a SpyFu page, emailed to the recipients you name. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/spyfu/create_scheduled_report

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Set up a recurring PDF report from a SpyFu page, emailed to the recipients you name.

SpyFu API: https://cotlet.dev/docs/api/spyfu.md

`POST https://cotlet.dev/api/v1/spyfu/scheduled-reports`

Access: write. Confirm: waits for the user's OK before it runs.

Does what Create Report with the email and schedule options does: builds the report from one SpyFu page for a domain or keyword and sets up recurring emails to the recipients. It includes every section of the page unless you list some in exclude_sections. schedule is the label of an option in SpyFu's report dialog. A custom title is a white label feature that SpyFu limits to certain plans. The PDF goes to people outside your account. By default you confirm each call; you can switch that off for this tool.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `page` | string | yes | Page the report is made from, as SpyFu names it, for example Domain Overview, SEO Keywords, Ranking History, Ad History. |
| `subject` | string | yes | Domain or keyword the report is about. |
| `recipients` | string | yes | Comma-separated email addresses. |
| `schedule` | string | yes | Label of an option in the report dialog, for example Monthly. |
| `title` | string | no | Title for the front page of the PDF. |
| `exclude_sections` | string | no | Comma-separated section names to leave out of the PDF. |

## Request

**cURL**

```bash
curl -X POST https://cotlet.dev/api/v1/spyfu/scheduled-reports \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"Domain Overview","subject":"trailkick.com","recipients":"maria@trailkick.com","schedule":"Monthly","title":"Trailkick monthly SEO recap"}'
```

**Python**

```python
result = client.call("spyfu", "create_scheduled_report", {"page":"Domain Overview","subject":"trailkick.com","recipients":"maria@trailkick.com","schedule":"Monthly","title":"Trailkick monthly SEO recap"})
```

**Node.js**

```js
const result = await cotlet.call('spyfu', 'create_scheduled_report', {"page":"Domain Overview","subject":"trailkick.com","recipients":"maria@trailkick.com","schedule":"Monthly","title":"Trailkick monthly SEO recap"});
```

**CLI**

```bash
cotlet call spyfu create_scheduled_report --data '{"page":"Domain Overview","subject":"trailkick.com","recipients":"maria@trailkick.com","schedule":"Monthly","title":"Trailkick monthly SEO recap"}'
```

## Example response

```json
{
  "report_id": "rep_3f9a1c",
  "page": "Domain Overview",
  "subject": "trailkick.com",
  "recipients": [
    "maria@trailkick.com"
  ],
  "schedule": "Monthly",
  "status": "scheduled"
}
```

Previous: [List scheduled reports](https://cotlet.dev/docs/api/spyfu/list_scheduled_reports.md)
Next: [Add site to My Sites](https://cotlet.dev/docs/api/spyfu/add_my_site.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
