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

# get collect status

`GET /signals/collect/{id}`

Returns the status of one collect job: queued, running, completed or failed. It also returns the leads and contacts so far, the premium credits held and charged, and the list_signals arguments that read the rows. After collect_signals, call it every 30 to 60 seconds until status is completed or failed. Then read the rows with GET /signals and the query in read.arguments. Free.

Returns the status of one collect job: queued, running, completed or failed. It also returns the leads and contacts so far, the premium credits held and charged, and the list_signals arguments that read the rows. After collect_signals, call it every 30 to 60 seconds until status is completed or failed. Then read the rows with GET /signals and the query in read.arguments. Free.

Cost: Free.

## Parameters

| Name | In | Type | Required | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `id` | path | string | yes |  | The collect job id: job.id in the collect_signals answer. |

## Response

- `id` | string | required.
- `kind` | enum | required.  Values: `linkedin_profile`, `linkedin_post`, `linkedin_company`.
- `target` | string | required.
- `status` | enum | required. queued: no runner has started the job. running: the job collects or matches rows; call get_collect again in 30 to 60 seconds. completed: all rows are written; read them with list_signals. failed: the job stopped; the rows it wrote stay readable, and error says what to do. Values: `queued`, `running`, `completed`, `failed`.
- `requested` | integer | required. The leads the job asks for: the requested company followers, or the expected engagers of a profile or post.
- `signals` | integer | required. The rows the job wrote so far.
- `leads` | integer | required. The unique new leads so far. Each one costs one premium credit when the job settles.
- `contacts_matched` | integer | required. The rows that carry a stored contact so far. Each one cost one contact credit.
- `premium_credits` | object | required.
  - `held` | integer | required. The premium credits held for this job now. The hold returns when the job settles.
  - `charged` | integer | required. The premium credits this job charged. It is 0 until the job settles.
- `error` | string or null | required. Present only when status is failed: what went wrong and what to do.
- `created_at` | string | required.
- `finished_at` | any | required. When the job completed or failed. Null while it is queued or running.
- `read` | object | required. The list_signals arguments that read this job's rows. On REST, send them as the query of GET /signals.
  - `tool` | string | required.
  - `arguments` | object | required.
    - `source_type` | string | required.
    - `source_id` | string | required.

## Failures

| Status | Meaning |
| --- | --- |
| `400` | The request shape, a filter key, a value, a cursor or the enrichment mode was rejected. |
| `401` | The credential is missing, unknown or revoked. |
| `404` | Unknown collect job id, an alert run, or a job of another account. |
| `429` | The key passed 300 requests a minute or 2 concurrent requests. |
| `503` | The data is unavailable for a short time. |

## Example

```bash
curl -sS "https://api.leadmcp.ai/v1/signals/collect/01ARZ3NDEKTSV4RRFFQ69G5FAV" \
  -H "Authorization: Bearer lm_live_YOUR_API_KEY" \
  -H "LeadMCP-Version: 2026-09-19"
```

Response `200`:

```json
{
  "ok": true,
  "request_id": "req_01JBQ2W8K9V6M3T0X5Y7Z4A1BC",
  "release": "b_2026_09_15",
  "data": {
    "id": "01ARZ3NDEKTSV4RRFFQ69G5FAW",
    "kind": "linkedin_profile",
    "target": "https://www.linkedin.com/in/example",
    "status": "running",
    "requested": 10,
    "signals": 6,
    "leads": 5,
    "contacts_matched": 2,
    "premium_credits": {
      "held": 20,
      "charged": 0
    },
    "error": null,
    "created_at": "2026-09-20T00:00:00Z",
    "finished_at": null,
    "read": {
      "tool": "list_signals",
      "arguments": {
        "source_type": "collect",
        "source_id": "01ARZ3NDEKTSV4RRFFQ69G5FAW"
      }
    }
  },
  "quota": {
    "plan": "free",
    "contact_credits_used": 50,
    "month_remaining": 950,
    "today_remaining": 950,
    "binding": "month",
    "resets_at": "9999-12-31T23:59:59.000Z"
  },
  "warnings": []
}
```
