# Response Format

Search responses are JSON with the same envelope on all three products - your parsing code works everywhere.

```json
{
  "posts": [
    {
      "uuid": "6bd4f2f1a2...",
      "url": "https://www.example.com/article",
      "title": "Example headline",
      "text": "Full extracted text of the post...",
      "language": "english",
      "published": "2026-07-04T11:20:00.000+03:00",
      "thread": { "site": "example.com", "site_type": "news", "...": "..." },
      "...": "..."
    }
  ],
  "next": "/api/news?q=bitcoin&ts=1751713632000&ni=6bd4f2f1a2...",
  "total_results": 12453,
  "more_results_available": 12353,
  "requests_left": 989,
  "warnings": null
}
```

## Envelope fields

| Field | Type | Description |
| --- | --- | --- |
| `posts` | array | Matching posts - see post data fields for [News](news-api-post-fields), [Blogs](blogs-api-post-fields), or [Forums](forums-api-post-fields) |
| `next` | string | Relative URL of the next page. Append it to `https://api.webz.io` - see [Pagination](news-blogs-forums-pagination) |
| `total_results` | integer | Total posts matching the query |
| `more_results_available` | integer | Posts still available after this page |
| `requests_left` | integer | Your remaining credit balance |
| `warnings` | array | Query issues, only when `warning=true` was sent. Each has `message`, `type`, `level` |

> [!NOTE]
> Migrating from the deprecated Web Content API? Meta fields are snake_case here: rename `totalResults` to `total_results`, `moreResultsAvailable` to `more_results_available`, and `requestsLeft` to `requests_left`. The `posts` structure is unchanged.
