---
title: "Check async request status"
method: GET
path: "/api/data/{project_id}/fetch"
tags: ["Data"]
---

# Check async request status

`GET /api/data/{project_id}/fetch`

## Request

- Base URL: `https://core.blink.new`
- URL: `https://core.blink.new/api/data/{project_id}/fetch`
- Auth: none required

Check the status of an asynchronous request using the requestId returned from a POST request with `async: true`.

**Status Values:**
- `queued`: Request is waiting to be processed
- `processing`: Request is currently being executed
- `completed`: Request finished successfully (result available)
- `failed`: Request failed with error (error message available)

**Data Retention:**
Request data is automatically cleaned up after 1 hour to prevent memory leaks.

## Path parameters

- `project_id` string, required

## Query parameters

- `requestId` string, required

## Response `200`

Status retrieved successfully

- object
  - `status` 'queued' | 'processing' | 'completed' | 'failed'
  - `requestId` string
  - `result` FetchResponse
    - `status` integer: HTTP status code from the target server
    - `headers` object: Response headers from the target server
    - `body` union: Response body from the target server (parsed JSON, text, or base64 for binary)
      - object
      - string
    - `durationMs` integer: Request duration in milliseconds
  - `error` string

## Other responses

- `400`: Missing requestId parameter
- `404`: Request not found or expired

---

[API](https://skmtc.dev/blink/apis/blink-apis.md) - [All operations](https://skmtc.dev/blink/apis/blink-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/blink/apis/blink-apis/revisions/4c59c706078e?raw)
