# Response Format

Search responses are JSON: a `cyberDocs` array plus paging metadata.

```json
{
  "cyberDocs": [
    {
      "url": "http://example.onion/thread/42#post-3",
      "uuid": "6bd4f2f1a2...",
      "title": "...",
      "text": "Full extracted text of the post...",
      "author": ["admin"],
      "language": "english",
      "published": "2026-07-04T11:20:00.000+03:00",
      "site": { "domain": "example.onion", "name": "...", "...": "..." },
      "thread": { "...": "..." },
      "extended": { "network": "tor", "...": "..." },
      "enriched": { "...": "..." },
      "crawled": "2026-07-04T12:00:00.000+03:00",
      "...": "..."
    }
  ],
  "totalResults": 4210,
  "moreResultsAvailable": 4200,
  "next": "/cyberFilter?token=YOUR_TOKEN&format=json&ts=1751630400000&q=...",
  "requestsLeft": 989,
  "warnings": null
}
```

## Envelope fields

| Field | Type | Description |
| --- | --- | --- |
| `cyberDocs` | array | Matching posts - see [Post Data Fields](cyber-api-data-fields) |
| `totalResults` | integer | Total posts matching the query |
| `moreResultsAvailable` | integer | Posts still available after this page |
| `next` | string | Relative URL of the next page. Append it to `https://api.webz.io` - see [Pagination](cyber-api-pagination) |
| `requestsLeft` | integer | Your remaining Cyber credit balance |
| `warnings` | array | Query issues, only when `warning=true` was sent - each has `message`, `type`, `level`. `null` otherwise |

The same paging values are also returned as response headers `X-WebHose-Next` and `X-WebHose-Requests-Left`.

## Other formats

Set `format=xml` for XML or `format=excel` for a spreadsheet download.
