Skip to main content

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.

TabPFN-3 is the next major iteration of the TabPFN, supporting up to 1M rows in-context. The API adds Thinking mode for even better predictions thanks to longer fit times, native text features, and a new endpoint surface. The Python client ships 0.3.0 with full v3 support.

Model

TabPFN-3 handles up to 1M rows x 200 features natively — a 10x increase over the previous model. Rows and features trade off, so you can go deeper (1M rows, 200 features) or wider (100K rows, 2,000 features) depending on your data. Predictions run in under 0.2ms on 1M rows, an order of magnitude faster than before. This makes real-time scoring, dashboards, and multi-predict workflows practical at production scale. Classification now supports up to 160 classes without extensions or workarounds. You can still use the many-class extension for higher-cardinality classification tasks. Regression shows up to 20% target metric improvements, with better predictions on out-of-distribution values, relational data, and time-series patterns.

Open-source package

TabPFN-3 model weights are available for local inference and research. Accessing the weights requires a one-time license acceptance - see accessing model weights for more details. The interface for TabPFN-3 stays mostly the same as for TabPFN-2.5 and 2.6. We have also bundled some performance improvements, such as:
  • Finetuning now distributing automatically across GPUs when launched with torchrun.
  • Regressor memory usage is reduced by 60%, which matters for large datasets and constrained environments.
  • Fixed a float overflow in the Yeo-Johnson inverse transform that could silently degrade regression predictions.
  • MPS hardware support has been improved, with silent errors degrading predictions being fixed.

tabpfn-client and API

Thinking mode for TabPFN-3-Plus is the biggest addition to the API surface. Thinking mode spends more effort on fitting stage, delivering up to 15% improvement (measured on TabArena ELO improvement) over vanilla TabPFN-3. You pay the optimization cost once at fit time, so you can use it for one-time optimization that fuels recurring predictions. TabPFN-3-Plus also handles text-based features natively on the API. Pass text columns such as product descriptions or customer notes directly, without encoding or preprocessing. Especially useful in agentic workflows where an agent passes conversational context straight into a prediction. tabpfn-client also gets a 0.3.0 release - the scikit-learn interface is unchanged. The package is upgraded to handle larger datasets and the new API flow. Thinking mode is exposed as first-class parameters on TabPFNClassifier and TabPFNRegressor. We have also updated the random_state to default to deterministic behavior. TabPFN-3-Plus is available exclusively through the new /tabpfn/* JSON endpoints, which separate upload from fit/predict and support much larger datasets reliably. The legacy /v1/* multipart routes remain available for a short period of time. API metering and limits have been updated to reflect TabPFN-3 performance and expected use. We have also introduced a new monthly limit, which lets you run larger experiments in one go.

Migrating from v2.x

OSS (local / Hugging Face)

  1. Upgrade PyTorch to 2.5+ before updating TabPFN. Minimum version moved from 2.1 to 2.5.
  2. Upgrade the package: pip install --upgrade tabpfn. TabPFN-3 is now the default model.
  3. Replace n_jobs with n_preprocessing_jobs if you were passing it to TabPFNClassifier or TabPFNRegressor.
  4. Expect slightly different predictions compared with v2.x — fingerprint hashing is now fully deterministic (no random salt), SVD is applied after categorical encoding, and ordinal encoding column ordering has been fixed.
  5. If you use tabpfn-extensions, verify compatibility with the v3 stack before upgrading production notebooks.

API client

  1. Upgrade: pip install --upgrade tabpfn-client. Version 0.3.0 handles the new API flow and v3 model limits automatically. Older client versions will show a deprecation warning.
  2. random_state now defaults to 0 (deterministic). Pass None for the previous non-deterministic behavior.
  3. Review API metering before load tests — token budgets and thinking fit limits apply.

Extensions

  1. Upgrade: pip install --upgrade tabpfn-extensions. Version 0.2.2 is compatible with TabPFN-3.
  2. If you were using ManyClassClassifier for problems with fewer than 160 classes, you can now drop it — TabPFN-3 handles up to 160 classes natively with TabPFNClassifier.
  3. The following extensions are deprecated: hpo, rf_pfn, pval_crt, survival, post_hoc_ensembles, sklearn_ensembles, tabebm, scoring, benchmarking. If you depend on any of these, pin your current version and plan to migrate off them.

REST API

  1. The legacy /v1/fit and /v1/predict multipart endpoints will remain available for a short period of time. New integrations should use the /tabpfn/* JSON routes. TabPFN-3 is only available through the new endpoints.
  2. POST /tabpfn/prepare_train_set_upload — prepare an upload destination, then upload your training data.
  3. POST /tabpfn/fit — fit a model on the uploaded training set. Returns a fitted_train_set_id.
  4. POST /tabpfn/prepare_test_set_upload — upload test features.
  5. POST /tabpfn/predict — run predictions using the fitted_train_set_id and uploaded test set.
  6. Use GET /tabpfn/get_model_limits to check per-model-version limits before uploading.
See the API reference and OpenAPI spec for full endpoint documentation.

Get started

Quickstart

Get up and running with TabPFN-3 in minutes.

Thinking mode

Configure fit-time optimization for better predictions.

API metering

Token budgets, usage tracking, and thinking fit limits.

API reference

Full endpoint documentation for the /tabpfn/* API.