Get a job
curl --request GET \
--url https://api.bapsolver.xyz/v1/jobs/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bapsolver.xyz/v1/jobs/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.bapsolver.xyz/v1/jobs/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"requestId": "0f6c1d2e-8a4b-4c3d-9e1f-2a3b4c5d6e7f",
"data": {
"id": "3b1f7c9a-2d4e-4f6a-8b0c-1d2e3f4a5b6c",
"kind": "recap_v3",
"url": "https://www.example.com/login",
"siteKey": "YOUR_SITE_KEY",
"action": "login",
"status": "done",
"createdAt": "2026-10-25T09:30:00.000Z",
"startedAt": "2026-10-25T09:30:00.012Z",
"finishedAt": "2026-10-25T09:30:03.400Z",
"result": {
"token": "03AFcWeA...",
"expiresAt": "2026-10-25T09:32:00.000Z",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
"acceptLanguage": "en-US,en;q=0.9",
"secUa": "\"Chromium\";v=\"156\", \"Google Chrome\";v=\"156\", \"Not.A/Brand\";v=\"99\"",
"secUaMobile": "?0",
"secUaPlatform": "\"Windows\""
}
}
}
Jobs
Get a job
Returns the job. Once it is done, result holds the token; once it has failed, error holds the code. Add wait to hold the request open until the job finishes.
GET
/
v1
/
jobs
/
{id}
Get a job
curl --request GET \
--url https://api.bapsolver.xyz/v1/jobs/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bapsolver.xyz/v1/jobs/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.bapsolver.xyz/v1/jobs/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"requestId": "0f6c1d2e-8a4b-4c3d-9e1f-2a3b4c5d6e7f",
"data": {
"id": "3b1f7c9a-2d4e-4f6a-8b0c-1d2e3f4a5b6c",
"kind": "recap_v3",
"url": "https://www.example.com/login",
"siteKey": "YOUR_SITE_KEY",
"action": "login",
"status": "done",
"createdAt": "2026-10-25T09:30:00.000Z",
"startedAt": "2026-10-25T09:30:00.012Z",
"finishedAt": "2026-10-25T09:30:03.400Z",
"result": {
"token": "03AFcWeA...",
"expiresAt": "2026-10-25T09:32:00.000Z",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
"acceptLanguage": "en-US,en;q=0.9",
"secUa": "\"Chromium\";v=\"156\", \"Google Chrome\";v=\"156\", \"Not.A/Brand\";v=\"99\"",
"secUaMobile": "?0",
"secUaPlatform": "\"Windows\""
}
}
}
Authorizations
Your API token. Send it on every /v1 request as Authorization: Bearer <API_TOKEN>.
Path Parameters
Query Parameters
Seconds (0 to 30; more is a 400) to hold the request open while the job has not finished; the job as it is then.
Pattern:
^([0-9]|[12][0-9]|30)$