Skip to main content
Prefer the Python SDK: tabpfn-client wraps the full upload → fit → predict flow behind the familiar scikit-learn interface. Use this REST guide when you need the raw HTTP contract or are integrating from a non-Python environment.
New integrations should target the /tabpfn/* JSON endpoints. The legacy /v1/fit and /v1/predict multipart routes will remain available for a short period of time — see the TabPFN-3 changelog.

1. Get your API key

  1. Visit platform.priorlabs.ai and sign in.
  2. Complete account setup.
  3. Navigate to the API Keys page.
  4. Copy your key.
Your API key grants full API access. Store it in a secret manager or environment variable — never commit it to source control.
If you use tabpfn-client, you can authenticate programmatically with set_access_token(api_key) or interactively with init(), which opens a browser-based login flow.

2. Check model limits

Before uploading, call GET /tabpfn/get_model_limits to retrieve the current per-version constraints (max rows, features, classes, dataset size). This lets you validate data locally before upload.
Use the limits returned for your selected model version, including its row, column, and full-distribution output limits. Compare model capabilities and availability on the Models page.

3. Upload the training set

Request signed upload URLs, then PUT your data files directly to cloud storage. Both CSV and Parquet formats are supported.

4. Fit the model

Reference the uploaded training set and specify the task. Select TabPFN-3.5-Plus with model_path="v3.5_default". The response returns a fitted_train_set_id for use in predictions.
For Fast (alpha), use "v3.5-fast_default". See Selecting Model Version for other versions. To use Thinking, add the thinking parameters:
Thinking fits can take minutes. If the fit exceeds 2 seconds, the server streams keepalive whitespace before sending the final JSON payload. Your HTTP client must handle chunked responses.

5. Upload the test set

Same signed-URL flow as the training set, but linked to the fitted model.

6. Predict

Run predictions using the fitted model and the uploaded test set.
Classification output types: "probas" (default) returns class probabilities, "preds" returns predicted labels. Regression output types: "mean" (default), "median", "mode", "quantiles" (pass a quantiles list), or "full" (full predictive distribution). For "full", respect the selected version’s test_set_max_rows_w_full_regression_output limit returned in step 2.

7. Metering and limits

Predictions and Thinking fits consume tokens from the same daily and monthly budgets. Uploads and standard fits do not consume tokens. Per-minute and per-hour request limits apply separately. Estimate an operation’s token cost before uploading data:
Use your data’s dimensions before preprocessing and the model’s estimator count. Requesting an estimate does not consume tokens or reserve capacity. Review API rate limits and API metering before running load tests or production workloads.

Error handling

All error responses follow a consistent envelope:

API rate limits

Per-minute and per-hour limits for uploads, fits, and predictions.

API metering

Token charges and shared daily and monthly budgets.

Security

Encryption, data isolation, and access controls.

Thinking mode

Fit-time optimization for better predictions.

FAQ

GPUs, limits, and product questions.