# get_prospects (/docs/mcp/tools/get-prospects)

{/* Generated by scripts/sync-mcp-tools.mjs from happierleads-api. Do not edit: change src/routes/mcp/toolDocs.json there, or add content/mcp-notes/get_prospects.mdx. */}

**List campaign prospects** · Read-only

List the contacts (prospects) already added to email campaigns on a website, newest first. Pass campaignId (from list_campaigns) to see one campaign's prospects; each prospect carries its emails[] with the per-step schedule, send time, opens and replies. Use get_inbox_emails for replies only, and search_people/get_leads to find new contacts. websiteId comes from list_websites. Returns prospects[], totalCount and totalPages. Page size is 50 for the whole website, 200 for one campaign. The prospect _id is the prospectId used by stop_prospect and remove_prospect_from_campaign. When the campaign is paused, every prospect is shown with paused: true.

| Connection | Account URL, team member URL or OAuth |
| --- | --- |

## Parameters [#parameters]

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `websiteId` | `string` | Yes | Website id (24 hex characters) from list_websites. |
| `campaignId` | `string` | No | Optional email campaign id from list_campaigns. Limits the list to that campaign. |
| `page` | `number` | No | Page number, starting at 1. Default 1. |
| `status` | `string` | No | Optional prospect status filter, e.g. scheduled, contacted, warm-reply, cold-reply, bounced, unsubscribed, out-of-office, error-sending, manually-paused, delayed, skipped. An unknown value is ignored and all prospects are returned. |

## Tool definition [#tool-definition]

What your assistant receives from `tools/list`:

```json
{
  "name": "get_prospects",
  "title": "List campaign prospects",
  "annotations": {
    "title": "List campaign prospects",
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "websiteId": {
        "type": "string",
        "description": "Website id (24 hex characters) from list_websites."
      },
      "campaignId": {
        "type": "string",
        "description": "Optional email campaign id from list_campaigns. Limits the list to that campaign."
      },
      "page": {
        "type": "number",
        "description": "Page number, starting at 1. Default 1."
      },
      "status": {
        "type": "string",
        "description": "Optional prospect status filter, e.g. scheduled, contacted, warm-reply, cold-reply, bounced, unsubscribed, out-of-office, error-sending, manually-paused, delayed, skipped. An unknown value is ignored and all prospects are returned."
      }
    },
    "required": [
      "websiteId"
    ]
  }
}
```
