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

# Queue status

> Returns the workspace's concurrency state: active browser slots in use, waiting jobs, and the plan's max concurrency.

Check how many browser slots your workspace is currently using, how many jobs are waiting, and your plan's concurrency limit.

Use this to monitor your queue before submitting large batch jobs, or to build dashboards that show real-time scraping activity.

```bash theme={null}
curl https://api.reader.dev/v1/queue/status \
  -H "x-api-key: $READER_KEY"
```

## Concurrency limits

Each plan has a maximum number of concurrent browser slots:

| Plan       | Concurrent browsers |
| ---------- | ------------------- |
| Free       | 2                   |
| Pro        | 10                  |
| Business   | 50                  |
| Enterprise | 200                 |

When all your browser slots are in use, new sync scrape requests return `429` with a `Retry-After` header. Async jobs (batch, crawl) queue and wait for a slot to open.

## Per-request concurrency cap

Pass `maxConcurrency` in your `/v1/read` request to limit how many browser slots a single batch or crawl job uses. This prevents one large job from consuming all your slots.

```bash theme={null}
curl -X POST https://api.reader.dev/v1/read \
  -H "x-api-key: $READER_KEY" \
  -d '{
    "urls": ["url1", "url2", "...100 more..."],
    "maxConcurrency": 5
  }'
```


## OpenAPI

````yaml openapi.json GET /v1/queue/status
openapi: 3.1.0
info:
  title: Reader API
  version: 1.0.0
  description: >-
    Reader turns any URL into clean markdown for LLMs. One endpoint (`POST
    /v1/read`) handles scrape, batch, and crawl operations. See
    https://reader.dev/docs for concepts and guides.
servers:
  - url: https://api.reader.dev
    description: Production
security: []
tags:
  - name: Read
    description: Scrape, batch, and crawl operations
  - name: Jobs
    description: Async job management
  - name: Webhooks
    description: Event subscriptions
  - name: Account
    description: API keys, credits, and usage
paths:
  /v1/queue/status:
    get:
      tags:
        - Account
      summary: Get queue status
      description: >-
        Returns the workspace's concurrency state: active browser slots in use,
        waiting jobs, and the plan's max concurrency.
      responses:
        '200':
          description: Queue status
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    type: object
                    properties:
                      activeJobs:
                        type: integer
                        description: Number of browser slots currently in use
                      waitingJobs:
                        type: integer
                        description: Number of jobs waiting in the queue
                      maxConcurrency:
                        type: integer
                        description: Maximum concurrent browser slots for your plan
                    required:
                      - activeJobs
                      - waitingJobs
                      - maxConcurrency
                required:
                  - success
                  - data
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````