API access is included with the Agency plan and with an Agency trial. On an active
paid plan that does not include it, the account owner or an admin can add it for
$10/month from API Tokens in
the dashboard.A trial gets 50 project credits to evaluate the API — see Credit System.
Endpoints that return your own data (proposals, invitations, profiles, auto-bidding setups) use no credits.
Authentication
To use the Vollna API, you need to sign up for an account first. Follow these steps to obtain your API token:- Create an account at vollna.com
- Go to your Dashboard
- Click your profile menu (top-right)
- Select “API Tokens”
- Generate a new API token
X-API-TOKEN header with every request:
Who the token acts as
An API token belongs to a team. It acts as the team owner and sees what the owner sees in that team. Some settings belong to one person: hidden jobs, saved Market Insights searches and the proposal template of a filter’s job cards. Through the API, these are the owner’s. Every write takes effect at once. There is no preview step.Rate Limiting
The Vollna API allows 30 requests per minute. The limit applies per subscription, so all API tokens of a team share it. When rate limits are exceeded, the API will return a 429 status code with the following response:Daily caps
Some reads take more work on Vollna’s side. Each has a daily cap. The API and MCP count against the same caps, per subscription. The caps reset at 00:00 UTC.
Your plan can set other values.
GET /usage returns each cap with what is used and when it resets, under mcpDaily.
When a cap is used up, the API returns a 429 status code:
Credit System
To ensure fair usage and prevent abuse of the API, we implement a credit-based system for certain endpoints. Each API request to retrieve projects consumes credits based on the number of projects returned. This system helps maintain service quality and prevents unauthorized data scraping. Project credits are consumed on these endpoints:GET /filters/{id}/projectsGET /results/{id}/projectsGET /projects/lookupGET /filters/{id}/verdictsPOST /filters/{id}/preview, for its sample jobsGET /auto-bidding/jobsGET /auto-bidding/jobs/{id}
Paid plans can top up beyond their monthly allocation from the dashboard. A trial allocation is a
fixed ceiling and cannot be topped up.
Each successful response from the first three endpoints above includes a
credits object, so you can track usage in real time. The other endpoints do not return it. Read the balance with GET /usage.
credits_remaining is above zero, lower the limit parameter to fit the balance —
message names both numbers.
The other endpoints that use credits answer 402 with error and message only. They answer the same way when a plan limit such as the number of filters is reached:
AI Qualifier verdicts
GET /filters/{id}/projects and GET /results/{id}/projects return the filter’s AI Qualifier
verdict for each job in a qualification object:
qualification is null when the filter has no qualifier, or when the job has not been qualified
yet. The key is always present, so you can read it without checking first.
reason and processedAt are null until a verdict is decided.
Reading a verdict costs no AI Qualifier credits. Only running a qualification does, and these
endpoints never run one: a job carries a verdict here once it was qualified in the dashboard, or by
the filter’s automatic mode.
Common Response Formats
Success Response
Error Response
message, which says what to do next. When fields fail validation, fields names each one:
Status Codes
Vollna uses standard HTTP response codes to indicate the success or failure of an API request. In general:- Codes in the 2xx range indicate success
- Codes in the 4xx range indicate an error that failed given the information provided