API Endpoints
Updated 9/6/2026
Get Profile API
Retrieve your Solverify account balance and active CAPTCHA task counters with the Get Profile API. A single POST /profile request returns billing information together with the number of tasks that are pending or currently processing.
Use this endpoint to build account dashboards, monitor task activity, display available credit, or decide whether to submit additional work.
Authentication is provided through the clientKey field in the JSON request body.
Request Body
{
"clientKey": "YOUR_API_KEY"
}
| Field | Type | Required | Description |
|---|---|---|---|
clientKey | string | Yes | Your private Solverify API key. |
Keep the API key in a server-side environment variable or secret manager. Do not expose it in browser JavaScript, public repositories, logs, or screenshots.
Success Response
A successful profile request returns errorId: 0, the current account balance, and active task counts:
{
"errorId": 0,
"balance": 12.5,
"pendingCount": 3,
"processingCount": 1,
"completedLastMinute": 42,
"planType": "subscription",
"assignedThreads": 100,
"pricingEndsAt": "2026-10-01T00:00:00Z",
"errorCode": null,
"errorDescription": null
}
Response Fields
| Field | Type | Description |
|---|---|---|
errorId | number | 0 indicates that the profile request succeeded. 1 indicates an API error. |
balance | number | Current balance available for the supplied API key. |
pendingCount | number | Number of tasks queued and waiting for solver capacity. |
processingCount | number | Number of tasks currently being solved. |
completedLastMinute | number | Number of tasks completed in the last 60 seconds. Omitted when zero. |
planType | string | Billing plan: "subscription" (thread plan), "per_1000", or "pay_per_solve" when no package is assigned. Omitted if the billing configuration could not be loaded. |
assignedThreads | number | Maximum concurrent tasks granted by the current plan. Omitted for pay-per-solve accounts. |
pricingEndsAt | string | RFC3339 timestamp when the current billing period ends. Omitted when there is no active billing period. |
errorCode | string or null | Machine-readable error code when the request fails. |
errorDescription | string or null | Human-readable information about the error. |
To calculate the total number of active tasks, add pendingCount and processingCount in your application.
Get Profile Code Examples
The following examples securely read the Solverify API key from an environment variable where supported.
curl --request POST \
--url https://solver.solverify.net/profile \
--header "Content-Type: application/json" \
--data '{"clientKey":"YOUR_API_KEY"}'
Get Profile API Errors
| Error code | Description |
|---|---|
ERROR_INVALID_REQUEST | The request body is missing required fields or contains invalid JSON. |
ERROR_INVALID_KEY | The supplied Solverify API key is invalid. |
ERROR_USER_NOT_FOUND | The API key exists, but its associated profile could not be found. |
Always inspect errorId before using the balance or task counters. For every supported API error, see Solverify API Error Codes.
When Should You Use the Profile API?
Use POST /profile when your application needs multiple account signals in one response:
- Display balance and task activity in an internal dashboard.
- Monitor queued and processing CAPTCHA tasks.
- Check available credit before submitting a large task batch.
- Adjust task submission rates based on current activity.
- Confirm that a newly funded account has available balance.
If you only need the account balance, use the Get Balance API. If you need detailed task information rather than counters, use the Active Tasks API.
Frequently Asked Questions
What is the difference between the Profile API and Get Balance API?
POST /profile returns the balance plus pending and processing task counters. POST /getBalance returns the balance without task activity.
What counts as an active task?
For dashboard totals, active tasks are the sum of pendingCount and processingCount. Pending tasks are queued, while processing tasks are currently being solved.
Does the Profile API create a CAPTCHA task?
No. It only reads account balance and task-counter information for the supplied API key.
How often should I refresh profile information?
Refresh at an interval appropriate for your dashboard or monitoring workflow. Avoid making a profile request before every task when the same information can be cached briefly.