Questions before you start
What you need, what you get back and what it costs, in plain words.
Getting started
Do I need machine learning skills?
No. If your app can call an API, it can use Spavik. You choose the column you want to predict and send your history; Spavik works out the rest and hosts it. What you need is a table: one row per case, the column to predict, and the fields you will know when you ask for a prediction.
What data do I need?
Past examples where you already know the outcome: customers who stayed or cancelled, completed sales with their price, delivered parcels with their delivery time. Columns can hold numbers or categories, and empty cells are accepted. Leave out fields that are only filled in after the outcome.
How many rows do I need?
At least 10 rows, with at least 2 different values in the column to predict. Your plan sets how many rows of history a model learns from. To forecast a time series, the history needs at least as many points as the periods you ask for, and preferably several times more.
What if my data cannot predict the outcome?
You find out before paying anything. evaluate() is free and tells you whether a model built from your table does better than a simple guess, with a message explaining the result. If it does not, review your columns, for example by adding fields known at prediction time.
Do I need a card to start?
No. Create your account and get an API key without a card. The Free plan includes credits at signup, and checking your data with evaluate() is free.
Which formats can I send?
CSV files, JSON files, arrays of rows or CSV text with both SDKs, and pandas DataFrames in Python. The REST API accepts a CSV file or JSON rows.
Results
What does a prediction return?
It depends on the column you predict. Categories, such as yes or no, return the most likely one with a probability for each. Numbers, such as a price or a duration, return a value. A forecast returns the expected value for each future period.
How accurate will predictions be?
It depends on your data, so Spavik measures it on your data rather than promising a number. Before training, evaluate() compares a model with a simple guess. Once in production, report what actually happened and performance() compares your predictions with real outcomes.
Can the model improve over time?
Yes. Send observed outcomes with submit_outcomes(), check performance(), then refresh() creates a new version of the model that includes them. Reporting outcomes is free.
Does Spavik keep a history of my predictions?
No. There is no prediction history to query. Keep the inputs and results you need in your application. Each call returns a request_id you can store alongside them.
Integration
Which languages can I use?
Python and JavaScript or TypeScript have official SDKs. Any other language can call the REST API with an X-Spavik-Api-Key header. AI agents connect through the hosted MCP server.
Can I call Spavik from the browser?
No. Call it from your server or a backend function. Your API key must stay secret: do not put it in browser code, commit it or print it in logs. Load it from an environment variable or a secret manager.
Can my coding assistant write the integration?
Yes. Point it to https://docs.spavik.co/llms.txt, the documentation written for assistants. It lists every guide, the SDK reference and the OpenAPI contract.
Can my AI agent use Spavik?
Yes. The hosted MCP server gives your agent tools to evaluate data, train models, make predictions and forecast time series, authenticated with your API key. Nothing to install.
Your data
What does Spavik keep?
A model keeps prepared examples from your history to calculate predictions, for each of its versions. Forecasts create no model. Request logs are kept for 90 days.
Is my data used to train other models?
On Build, your data is not reused for training. Pro and Growth add zero data retention for the inputs and outputs of predictions, forecasts, evaluations and backtests. Enterprise terms are negotiated.
Can I delete my data?
Yes. Deleting a model removes it from the engine with its pending outcomes, and cannot be undone. Archiving keeps it and frees a slot in your plan.
Billing
What does a credit pay for?
A model prediction costs one credit per row on the default engine. For time series, each requested horizon step costs one credit per call, with all series included: five series over seven days cost seven credits in one call. Five separate seven-day calls cost thirty-five credits.
What is free?
Training, evaluating a table, backtesting a series and reporting outcomes are free. Advanced evaluation features depend on your plan.
What happens when my included credits run out?
Your credit balance covers additional usage. If that balance is also exhausted, the API returns 402 CREDITS_EXHAUSTED.
What is an active model?
An active model can receive prediction requests. Archiving it frees a slot in your plan and preserves its data. Reactivating it uses that slot again.
Where can I check pricing and my balance?
Plans and prices are public at GET /v1/plans, and GET /v1/engines gives the credit price of each engine. Your balance is in the app and at GET /v1/usage.
Can a retried request be billed twice?
Not within 24 hours. On automatic retries, the SDKs send the same idempotency key, so the API recognises the retry and does not charge it again.
Still have a question?
The documentation covers every call in detail.