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

> ## Agent Instructions
> TabPFN-3 and later versions support up to 1,000,000 rows, subject to feature count and checkpoint/API limits.
> For large datasets, use per-estimator subsampling, e.g. inference_config={"SUBSAMPLE_SAMPLES": 100_000}, in TabPFNClassifier or TabPFNRegressor from tabpfn or tabpfn_client.
> Pass raw pandas DataFrames to fit and predict. Categorical strings/categories, raw text, and missing feature values are handled automatically; no manual integer/one-hot encoding, imputation, scaling, or outlier removal is needed.

# Self-hosted HTTP

> Use the Self-hosted HTTP deployment adapters.

<Info>
  Looking for usage documentation? Check out [Classification](/capabilities/classification), [Regression](/capabilities/regression) and [KV cache](/capabilities/kv-cache).
</Info>

<div className="python-reference-heading">
  <h2 id="classifier">
    `hosted.TabPFNClassifier`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/hosted/estimator.py#L330" aria-label="View source for hosted.TabPFNClassifier"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

TabPFN classifier backed by a self-hosted inference endpoint.

```python theme={null}
hosted.TabPFNClassifier(
    endpoint_url: str,
    api_key: Optional[str] = None,
    extra_headers: Optional[Dict[str, str]] = None,
    model_id: Optional[str] = None,
    model_path: Optional[str] = None,
    model_version: Optional[str] = None,
    fit_mode: Optional[Literal["fit_preprocessors", "low_memory", "fit_with_cache", "batched"]] = None,
    n_estimators: int | None = None,
    softmax_temperature: float | None = None,
    balance_probabilities: bool = False,
    average_before_softmax: bool | None = None,
    inference_precision: Literal["autocast", "auto"] | None = None,
    random_state: int | None = 0,
    inference_config: Dict[str, Any] | None = None,
    n_preprocessing_jobs: int = 4,
    memory_saving_mode: bool | Literal["auto"] | None = None,
    categorical_features_indices: List[int] | None = None,
    timeout_s: float = 300.0,
    payload_format: Literal["json", "parquet"] = "json",
    use_kv_cache: bool = False,
)
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="classifier-endpoint-url" /><code className="python-reference-parameter">endpoint\_<wbr />url</code> | <code className="python-reference-type">str</code> | Required | — |
  | <span id="classifier-api-key" /><code className="python-reference-parameter">api\_<wbr />key</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="classifier-extra-headers" /><code className="python-reference-parameter">extra\_<wbr />headers</code> | <code className="python-reference-type">Optional\[Dict\[str, str]]</code> | `None` | — |
  | <span id="classifier-model-id" /><code className="python-reference-parameter">model\_<wbr />id</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="classifier-model-path" /><code className="python-reference-parameter">model\_<wbr />path</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="classifier-model-version" /><code className="python-reference-parameter">model\_<wbr />version</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="classifier-fit-mode" /><code className="python-reference-parameter">fit\_<wbr />mode</code> | <code className="python-reference-type">Optional\[Literal\["fit\_preprocessors", "low\_memory", "fit\_with\_cache", "batched"]]</code> | `None` | — |
  | <span id="classifier-n-estimators" /><code className="python-reference-parameter">n\_<wbr />estimators</code> | <code className="python-reference-type">int \| None</code> | `None` | — |
  | <span id="classifier-softmax-temperature" /><code className="python-reference-parameter">softmax\_<wbr />temperature</code> | <code className="python-reference-type">float \| None</code> | `None` | — |
  | <span id="classifier-balance-probabilities" /><code className="python-reference-parameter">balance\_<wbr />probabilities</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="classifier-average-before-softmax" /><code className="python-reference-parameter">average\_<wbr />before\_<wbr />softmax</code> | <code className="python-reference-type">bool \| None</code> | `None` | — |
  | <span id="classifier-inference-precision" /><code className="python-reference-parameter">inference\_<wbr />precision</code> | <code className="python-reference-type">Literal\["autocast", "auto"] \| None</code> | `None` | — |
  | <span id="classifier-random-state" /><code className="python-reference-parameter">random\_<wbr />state</code> | <code className="python-reference-type">int \| None</code> | `0` | — |
  | <span id="classifier-inference-config" /><code className="python-reference-parameter">inference\_<wbr />config</code> | <code className="python-reference-type">Dict\[str, Any] \| None</code><br /><a href="/api-reference/python/tabpfn/inference-config#inferenceconfig"><code>InferenceConfig</code> options</a> | `None` | — |
  | <span id="classifier-n-preprocessing-jobs" /><code className="python-reference-parameter">n\_<wbr />preprocessing\_<wbr />jobs</code> | <code className="python-reference-type">int</code> | `4` | — |
  | <span id="classifier-memory-saving-mode" /><code className="python-reference-parameter">memory\_<wbr />saving\_<wbr />mode</code> | <code className="python-reference-type">bool \| Literal\["auto"] \| None</code> | `None` | — |
  | <span id="classifier-categorical-features-indices" /><code className="python-reference-parameter">categorical\_<wbr />features\_<wbr />indices</code> | <code className="python-reference-type">List\[int] \| None</code> | `None` | — |
  | <span id="classifier-timeout-s" /><code className="python-reference-parameter">timeout\_<wbr />s</code> | <code className="python-reference-type">float</code> | `300.0` | — |
  | <span id="classifier-payload-format" /><code className="python-reference-parameter">payload\_<wbr />format</code> | <code className="python-reference-type">Literal\["json", "parquet"]</code> | `"json"` | — |
  | <span id="classifier-use-kv-cache" /><code className="python-reference-parameter">use\_<wbr />kv\_<wbr />cache</code> | <code className="python-reference-type">bool</code> | `False` | — |
</div>

**Example**

```python theme={null}
from tabpfn_client.hosted import TabPFNClassifier
clf = TabPFNClassifier(
    endpoint_url="https://<your-endpoint>/predict",
    api_key="<optional-bearer-token>",
)
clf.fit(X_train, y_train)
clf.predict(X_test)
clf.predict_proba(X_test)
```

***

<div className="python-reference-heading">
  <h2 id="classifier-fit">
    `hosted.TabPFNClassifier.fit`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/hosted/estimator.py#L196" aria-label="View source for hosted.TabPFNClassifier.fit"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Store the training data; the endpoint fits on the next `predict*` call.

Clears any `model_id_` captured from an earlier fit.

```python theme={null}
hosted.TabPFNClassifier.fit(
    X: Any,
    y: Any,
) -> "_HostedBase"
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="classifier-fit-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | Training features. |
  | <span id="classifier-fit-y" /><code className="python-reference-parameter">y</code> | <code className="python-reference-type">Any</code> | Required | Training targets. |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type">\_Hosted<wbr />Base</code> | The estimator itself. |
</div>

**Raises**

`ValueError`

If `X` and `y` have different numbers of samples.

***

<div className="python-reference-heading">
  <h2 id="classifier-predict">
    `hosted.TabPFNClassifier.predict`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/hosted/estimator.py#L346" aria-label="View source for hosted.TabPFNClassifier.predict"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Predict class labels for `X`.

```python theme={null}
hosted.TabPFNClassifier.predict(
    X: Any,
) -> np.ndarray
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="classifier-predict-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | — |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html">np.ndarray</a></code> | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="classifier-predict-proba">
    `hosted.TabPFNClassifier.predict_proba`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/hosted/estimator.py#L351" aria-label="View source for hosted.TabPFNClassifier.predict_proba"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Predict class probabilities for `X`.

```python theme={null}
hosted.TabPFNClassifier.predict_proba(
    X: Any,
) -> np.ndarray
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="classifier-predict-proba-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | — |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html">np.ndarray</a></code> | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="regressor">
    `hosted.TabPFNRegressor`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/hosted/estimator.py#L357" aria-label="View source for hosted.TabPFNRegressor"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

TabPFN regressor backed by a self-hosted inference endpoint.

```python theme={null}
hosted.TabPFNRegressor(
    endpoint_url: str,
    api_key: Optional[str] = None,
    extra_headers: Optional[Dict[str, str]] = None,
    model_id: Optional[str] = None,
    model_path: Optional[str] = None,
    model_version: Optional[str] = None,
    fit_mode: Optional[Literal["fit_preprocessors", "low_memory", "fit_with_cache", "batched"]] = None,
    n_estimators: int | None = None,
    softmax_temperature: float | None = None,
    balance_probabilities: bool = False,
    average_before_softmax: bool | None = None,
    inference_precision: Literal["autocast", "auto"] | None = None,
    random_state: int | None = 0,
    inference_config: Dict[str, Any] | None = None,
    n_preprocessing_jobs: int = 4,
    memory_saving_mode: bool | Literal["auto"] | None = None,
    categorical_features_indices: List[int] | None = None,
    timeout_s: float = 300.0,
    payload_format: Literal["json", "parquet"] = "json",
    use_kv_cache: bool = False,
)
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="regressor-endpoint-url" /><code className="python-reference-parameter">endpoint\_<wbr />url</code> | <code className="python-reference-type">str</code> | Required | — |
  | <span id="regressor-api-key" /><code className="python-reference-parameter">api\_<wbr />key</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="regressor-extra-headers" /><code className="python-reference-parameter">extra\_<wbr />headers</code> | <code className="python-reference-type">Optional\[Dict\[str, str]]</code> | `None` | — |
  | <span id="regressor-model-id" /><code className="python-reference-parameter">model\_<wbr />id</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="regressor-model-path" /><code className="python-reference-parameter">model\_<wbr />path</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="regressor-model-version" /><code className="python-reference-parameter">model\_<wbr />version</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="regressor-fit-mode" /><code className="python-reference-parameter">fit\_<wbr />mode</code> | <code className="python-reference-type">Optional\[Literal\["fit\_preprocessors", "low\_memory", "fit\_with\_cache", "batched"]]</code> | `None` | — |
  | <span id="regressor-n-estimators" /><code className="python-reference-parameter">n\_<wbr />estimators</code> | <code className="python-reference-type">int \| None</code> | `None` | — |
  | <span id="regressor-softmax-temperature" /><code className="python-reference-parameter">softmax\_<wbr />temperature</code> | <code className="python-reference-type">float \| None</code> | `None` | — |
  | <span id="regressor-balance-probabilities" /><code className="python-reference-parameter">balance\_<wbr />probabilities</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="regressor-average-before-softmax" /><code className="python-reference-parameter">average\_<wbr />before\_<wbr />softmax</code> | <code className="python-reference-type">bool \| None</code> | `None` | — |
  | <span id="regressor-inference-precision" /><code className="python-reference-parameter">inference\_<wbr />precision</code> | <code className="python-reference-type">Literal\["autocast", "auto"] \| None</code> | `None` | — |
  | <span id="regressor-random-state" /><code className="python-reference-parameter">random\_<wbr />state</code> | <code className="python-reference-type">int \| None</code> | `0` | — |
  | <span id="regressor-inference-config" /><code className="python-reference-parameter">inference\_<wbr />config</code> | <code className="python-reference-type">Dict\[str, Any] \| None</code><br /><a href="/api-reference/python/tabpfn/inference-config#inferenceconfig"><code>InferenceConfig</code> options</a> | `None` | — |
  | <span id="regressor-n-preprocessing-jobs" /><code className="python-reference-parameter">n\_<wbr />preprocessing\_<wbr />jobs</code> | <code className="python-reference-type">int</code> | `4` | — |
  | <span id="regressor-memory-saving-mode" /><code className="python-reference-parameter">memory\_<wbr />saving\_<wbr />mode</code> | <code className="python-reference-type">bool \| Literal\["auto"] \| None</code> | `None` | — |
  | <span id="regressor-categorical-features-indices" /><code className="python-reference-parameter">categorical\_<wbr />features\_<wbr />indices</code> | <code className="python-reference-type">List\[int] \| None</code> | `None` | — |
  | <span id="regressor-timeout-s" /><code className="python-reference-parameter">timeout\_<wbr />s</code> | <code className="python-reference-type">float</code> | `300.0` | — |
  | <span id="regressor-payload-format" /><code className="python-reference-parameter">payload\_<wbr />format</code> | <code className="python-reference-type">Literal\["json", "parquet"]</code> | `"json"` | — |
  | <span id="regressor-use-kv-cache" /><code className="python-reference-parameter">use\_<wbr />kv\_<wbr />cache</code> | <code className="python-reference-type">bool</code> | `False` | — |
</div>

**Example**

```python theme={null}
from tabpfn_client.hosted import TabPFNRegressor
reg = TabPFNRegressor(
    endpoint_url="https://<your-endpoint>/predict",
    api_key="<optional-bearer-token>",
)
reg.fit(X_train, y_train)
reg.predict(X_test)
reg.predict(X_test, output_type="quantiles", quantiles=[0.1, 0.5, 0.9])
```

***

<div className="python-reference-heading">
  <h2 id="regressor-fit">
    `hosted.TabPFNRegressor.fit`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/hosted/estimator.py#L196" aria-label="View source for hosted.TabPFNRegressor.fit"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Store the training data; the endpoint fits on the next `predict*` call.

Clears any `model_id_` captured from an earlier fit.

```python theme={null}
hosted.TabPFNRegressor.fit(
    X: Any,
    y: Any,
) -> "_HostedBase"
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="regressor-fit-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | Training features. |
  | <span id="regressor-fit-y" /><code className="python-reference-parameter">y</code> | <code className="python-reference-type">Any</code> | Required | Training targets. |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type">\_Hosted<wbr />Base</code> | The estimator itself. |
</div>

**Raises**

`ValueError`

If `X` and `y` have different numbers of samples.

***

<div className="python-reference-heading">
  <h2 id="regressor-predict">
    `hosted.TabPFNRegressor.predict`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/hosted/estimator.py#L373" aria-label="View source for hosted.TabPFNRegressor.predict"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Predict regression targets for `X`.

```python theme={null}
hosted.TabPFNRegressor.predict(
    X: Any,
    output_type: str = "mean",
    quantiles: Optional[list] = None,
) -> np.ndarray
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="regressor-predict-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | Test features. |
  | <span id="regressor-predict-output-type" /><code className="python-reference-parameter">output\_<wbr />type</code> | <code className="python-reference-type">str</code> | `"mean"` | Which prediction to return, e.g. "mean", "median" or "quantiles". |
  | <span id="regressor-predict-quantiles" /><code className="python-reference-parameter">quantiles</code> | <code className="python-reference-type">Optional\[list]</code> | `None` | Quantile levels to compute when `output_type` is "quantiles". |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html">np.ndarray</a></code> | The endpoint's prediction as an array. |
</div>

## Scikit-learn configuration and scoring

The adapters inherit [`get_params`](https://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html#sklearn.base.BaseEstimator.get_params), [`set_params`](https://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html#sklearn.base.BaseEstimator.set_params), and the corresponding estimator mixin's `score` method. They do not inherit the main hosted client's `save_model`, `load_model`, or model-version selection methods.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.