Search leads
Finds leads already in the workspace. Omit campaignId for the whole CRM; pass campaignId to list or search that campaign's leads. Same query, pagination, and payload either way. By default each row is identity fields, Oracle score, lead-fit score, sequence status, the assigned sender on leadSequence, stage, and timestamps. Pass includeVariables for every custom and built-in variable. This does not find new people and does not enrich them.
/campaigns.leads.searchAuthorization
bearerAuth Enter your MailMoo API key (format: sk_live_...)
In: header
Query Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/campaigns.leads.search"{ "leads": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "leadGroupId": "b15edcce-7ff3-427f-9d96-03b6df3f3ff2", "tagId": "f69eb9f1-ae9f-4086-b25c-c39758a43fb3", "leadIdentifier": "string", "firstName": "string", "lastName": "string", "fullName": "string", "email": "string", "company": "string", "location": "string", "phone": "string", "leadFitScore": 0, "oracleScore": 0, "sequenceStatus": "IN_PROGRESS", "linkedInUrl": "string", "personalLinkedInUrl": "string", "companyLinkedInUrl": "string", "websiteUrl": "string", "createdAt": "string", "lastActivityAt": "string", "meetingBookedAt": "string", "closeReason": "NOT_ICP", "pipelineStageId": "07dd84d5-9ace-4c3a-bee6-6bd4c6704f7f", "pipelineStage": { "name": "string", "colorHex": "string", "category": "NEW" }, "leadSequence": { "status": "IN_PROGRESS", "sdrProfileId": "fd57902a-f94d-44c4-b010-9350234d4c62", "sequenceSenderId": "693e952b-a501-41bf-878d-f5030c0c8a06", "sdrProfile": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "firstName": "string", "lastName": "string" }, "seqSender": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "sdrProfileId": "fd57902a-f94d-44c4-b010-9350234d4c62", "sdrProfile": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "firstName": "string", "lastName": "string" } } }, "campaigns": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" } ], "profilePictureUrl": "string", "builtInValues": { "property1": "string", "property2": "string" }, "variables": [ { "variableTypeId": "dffcb200-76b2-402b-a8ff-b2a9687a12cc", "name": "string", "builtInType": "string", "value": "string" } ], "property1": null, "property2": null } ], "nextCursor": "string"}List tags GET
Returns every tag in the workspace, alphabetically. Tags are workspace configuration, so fetch them here to resolve a tag name to the ID that lead updates expect. A null `builtInType` means someone created the tag by hand; a non-null one means MailMoo maintains it.
Read a lead GET
Returns one lead with everything held against it: its fields, including enrichment output and AI columns, plus where it sits in the pipeline. Field values are redacted on workspaces without access to lead contact data.

