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./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
- Visit ux.priorlabs.ai and sign in.
- Complete account setup.
- Navigate to the API Keys page.
- Copy your key.
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, callGET /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.
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. The response returns afitted_train_set_id for use in predictions.
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."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, limited to 400 test rows).
7. Metering and limits
Predictions consume tokens from daily and monthly pools. Thinking fits have a separate monthly quota. Read API metering before running load tests or production workloads.Error handling
All error responses follow a consistent envelope:| Status | Meaning |
|---|---|
| 401 | Missing or invalid authentication token |
| 404 | Resource not found (upload, fitted model) |
| 409 | Duplicate upload — reuse the returned ID |
| 422 | Validation error (invalid parameters, data issues) |
| 429 | Rate limit — daily, monthly, or thinking fit quota exceeded |
API metering
Token budgets, usage pools, and thinking fit limits.
Security
Encryption, data isolation, and access controls.
Thinking mode
Fit-time optimization for better predictions.
FAQ
GPUs, limits, and product questions.