Get task status and paginated results
curl --request GET \
--url https://api.socq.ai/v1/tasks/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.socq.ai/v1/tasks/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.socq.ai/v1/tasks/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.socq.ai/v1/tasks/{task_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.socq.ai/v1/tasks/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.socq.ai/v1/tasks/{task_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.socq.ai/v1/tasks/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyGet Task Status and Results
Check task status and read results after completion.
GET
/
v1
/
tasks
/
{task_id}
Get task status and paginated results
curl --request GET \
--url https://api.socq.ai/v1/tasks/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.socq.ai/v1/tasks/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.socq.ai/v1/tasks/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.socq.ai/v1/tasks/{task_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.socq.ai/v1/tasks/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.socq.ai/v1/tasks/{task_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.socq.ai/v1/tasks/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyGet Task Status and Results
Query a task bytask_id. When the task status is succeeded, the response automatically includes the first page of normalized results. Use cursor and limit on the same endpoint to read additional result pages.
Endpoint
GET https://api.socq.ai/v1/tasks/{task_id}
next_cursor returned under results to read the next page:
GET https://api.socq.ai/v1/tasks/{task_id}?limit=50&cursor=NTY3ODkw
Response
{
"code": 200,
"data": {
"task_id": "A1B2C3D4E5F6G7H8",
"status": "succeeded",
"result_count": 1,
"error_message": null,
"credits_amount": 0,
"created_time": "2026-07-07T18:30:32",
"finished_time": "2026-07-07T18:30:48",
"results": {
"limit": 50,
"next_cursor": null,
"has_more": false,
"schema_id": "account",
"schema_version": "1.0",
"items": [
{
"id": "25025320",
"platform": "instagram",
"resource": "followers-count",
"type": "profile_metrics",
"url": "https://www.instagram.com/instagram",
"published_at": null,
"collected_at": "2026-07-07T18:30:48Z",
"username": "instagram",
"name": "Instagram",
"text": null,
"avatar_url": null,
"cover_url": null,
"website": null,
"is_verified": true,
"is_private": false,
"location": null,
"metrics": {
"followers_count": 685829413,
"following_count": 251,
"posts_count": 8000
}
}
]
}
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
task_id | string | Task identifier |
status | string | queued, running, succeeded, or failed |
result_count | integer | Number of collected records |
error_message | string | Failure reason when status is failed |
credits_amount | number | Credits charged for the task |
created_time | string | Task creation time |
finished_time | string | Task completion time |
results | object | Present only when status is succeeded; contains paginated normalized records |
results.schema_id | string | Resource schema ID |
results.schema_version | string | Resource schema version |
Pagination
| Query | Type | Default | Description |
|---|---|---|---|
limit | integer | 50 | Number of records to return, max 500 |
cursor | string | null | Cursor from the previous results.next_cursor. Omit it for the first page. |
fields | string | null | Up to 50 comma-separated fields or dot paths. |
fields. Unavailable scalar values and objects are null; known zero values remain 0, false values remain false, and known empty collections remain [].
While a task is
queued, running, or failed, this endpoint returns task metadata without results.Authorizations
bearerAuthapiKeyAuth
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Up to 50 comma-separated fields or dot paths.
Response
200
Task detail

