# Search Contacts — Apollo

> Searches for contacts in your Apollo CRM by keyword, stage, or sort criteria. Returns contact name, email, title, company, and stage. Use this to find contacts before updating them with Create or Update Contact or enrolling them with Add…

- Key: `apollo_io_oauth-search-contacts`
- Type: Action (Read-only)
- Version: 0.0.2
- App: Apollo (`apollo_io_oauth`) — https://pipedream.com/apps/apollo-io-oauth.md
- This page (HTML): https://pipedream.com/apps/apollo-io-oauth/actions/search-contacts
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/apollo_io_oauth/actions/search-contacts/search-contacts.mjs

## Description

Searches for contacts in your Apollo CRM by keyword, stage, or sort criteria. Returns contact name, email, title, company, and stage. Use this to find contacts before updating them with **Create or Update Contact** or enrolling them with **Add Contacts to Sequence**. The `query` parameter searches across name, title, company, and email. [See the documentation](https://docs.apollo.io/reference/search-for-contacts)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `query` | `string` | No | Search keyword matching contact name, title, company, or email. Example: "John" or "acme.com". |
| `contactStageIds` | `string[]` | No | Filter by one or more contact stage IDs. Use List Metadata (type contact_stages) to discover valid stage IDs. |
| `sortByField` | `string` | No | The field to sort results by. |
| `sortAscending` | `boolean` | No | Set to true for ascending order, false for descending. Defaults to descending. |
| `maxResults` | `integer` | No | Maximum number of contacts to return. Defaults to 100. Max 600. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "apollo_io_oauth",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "apollo_io_oauth-search-contacts",
  arguments: {
    query: "Query",
    contactStageIds: ["Contact Stage IDs"],
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "apollo_io_oauth-search-contacts",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    apollo_io_oauth: { authProvisionId: "apn_xxxxxxx" },
    query: "Query",
    contactStageIds: ["Contact Stage IDs"],
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "apollo_io_oauth-search-contacts",
    "configured_props": {
      "apollo_io_oauth": { "authProvisionId": "apn_xxxxxxx" },
      "query": "Query",
      "contactStageIds": ["Contact Stage IDs"]
    }
  }'
```

---

- App: https://pipedream.com/apps/apollo-io-oauth.md · All apps: https://pipedream.com/apps
