## JSON

`extract.json(ExtractJsonParams**kwargs)  -> ExtractJsonResponse`

**post** `/extract/json`

Fetches a URL and extracts structured data according to a provided JSON schema

### Parameters

- `json_schema: object`

  JSON schema definition that describes the structure of data to extract. If the schema includes a "page_title" or "favicon" property, those fields are automatically filled from page metadata when the AI leaves them empty.

- `url: str`

  URL to fetch and extract data from

- `effort: Optional[Literal["min", "standard", "max"]]`

  Fetch effort level controlling speed vs. capability tradeoff. "min": fastest, no fallback (1-5s). "standard": balanced with enhanced reliability (default, 3-15s). "max": full browser rendering for JS-heavy sites (15-60s).

  - `"min"`

  - `"standard"`

  - `"max"`

- `geo_target: Optional[GeotargetGeoTarget]`

  Optional geotargeting parameters for proxy requests

  - `country: Optional[str]`

    Country code using ISO 3166-1 alpha-2 standard (2 letters, e.g., "US", "GB", "JP").
    See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

- `nocache: Optional[bool]`

  Bypass cache and force fresh data retrieval

### Returns

- `Dict[str, object]`

### Example

```python
import os
from tabstack import Tabstack

client = Tabstack(
    api_key=os.environ.get("TABSTACK_API_KEY"),  # This is the default and can be omitted
)
response = client.extract.json(
    json_schema={
        "properties": {
            "stories": {
                "items": {
                    "properties": {
                        "author": {
                            "description": "Author username",
                            "type": "string",
                        },
                        "points": {
                            "description": "Story points",
                            "type": "number",
                        },
                        "title": {
                            "description": "Story title",
                            "type": "string",
                        },
                    },
                    "type": "object",
                },
                "type": "array",
            }
        },
        "type": "object",
    },
    url="https://news.ycombinator.com",
)
print(response)
```

#### Response

```json
{
  "foo": "bar"
}
```
