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

# Track Status

> Check the status of an async tracking request

Check the status of an async tracking request. Some sources (e.g., private or gated Telegram channels) require approval to join — tracking is queued as an async job. Use this endpoint to poll whether the join request has been accepted and tracking has begun.

<Note>
  When you track a private Telegram channel, you'll receive a `202 Accepted`
  response with a `jobId`. Use this endpoint with that job ID to check if your
  join request was approved.
</Note>

## Path Parameters

<ParamField path="source" type="string" required>
  The source type (e.g., `telegram`).
</ParamField>

## Query Parameters

<ParamField query="id" type="string" required>
  The job ID returned when tracking was initiated.
</ParamField>

## Response

<ResponseField name="state" type="string">
  Current state of the job. Possible values: `waiting`, `active`, `completed`,
  `failed`.
</ResponseField>

<ResponseField name="id" type="string">
  The job ID.
</ResponseField>

<ResponseField name="returnvalue" type="object">
  The result data, present only when the job state is `completed`.
</ResponseField>

<RequestExample>
  ```bash theme={null}
  curl -X GET "https://scrape.st/track/telegram/status?id=65" \
    -H "x-api-key: YOUR_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json Pending theme={null}
  {
    "state": "waiting",
    "id": "65"
  }
  ```

  ```json Completed theme={null}
  {
    "state": "completed",
    "id": "65",
    "returnvalue": {}
  }
  ```
</ResponseExample>
