Skip to main content
Tasks

Get tasks results

Read generated objects after a source task is completed, failed, or stopped. While it is still active, this endpoint returns 409 ResultsNotReady.

Each result is a JSON object. Failed and stopped tasks can keep partial results. Use limit for page size and pass nextCursor unchanged to read more. The guide below explains the response format.

Required permissions: enrichments:tasks:read

get/v1/sources/tasks/{taskId}/results

Authorizations

Authorizationstringheaderrequired

Use an account access token as Bearer <token>.

Get an access token ↗

Path parameters

taskIdstringrequired

Copy the task's returned @id unchanged. New tasks use a 32-character hexadecimal UUID4; existing IDs with the task_ prefix remain supported.

pattern: "^(?:task_)?[a-f0-9]{32}$"

Query parameters

cursorstring
limitinteger
minimum: 1maximum: 100default: 50

Response

Stable page of flat generated objects

200 · application/json

taskIdstringrequired
resultsobject[]required
Show child attributes
object

Additional properties are supported.

nextCursorstring | nullrequired

Source task results​

Each result is a JSON object with fields chosen by the source and your settings. There is no inputId, per-input status, or enrichment outputs wrapper.

The catalog's outputSchema lists known fields. Results can include extra fields before the catalog lists them. Keep any extra fields when reading results.

Example response:

json
{
"taskId": "00000000000040008000000000000001",
"results": [
{
"instagramUsername": "example_user",
"instagramProfileUrl": "https://www.instagram.com/example_user/"
}
],
"nextCursor": null
}

Pages default to 50 objects and accept limit from 1 to 100. A response is at most 128 KiB and may contain fewer objects than requested. Pass nextCursor unchanged until it is null. Once a task finishes, its result order stays the same. That order does not necessarily show when objects were found.

Read all result pages​

Replace TASK_ID with the ID returned when you created the task. Request the first page:

Request
import requests
url = "https://api.datablist.com/v1/sources/tasks/TASK_ID/results"
headers = {
"Accept": "application/json",
"Authorization": "Bearer <token>"
}
params = {
"limit": "50"
}
response = requests.get(url, headers=headers, params=params)
print(response.text)

If the response has a nextCursor, copy it into the next request's cursor parameter. Replace NEXT_CURSOR below with that value:

Request
import requests
url = "https://api.datablist.com/v1/sources/tasks/TASK_ID/results"
headers = {
"Accept": "application/json",
"Authorization": "Bearer <token>"
}
params = {
"limit": "50",
"cursor": "NEXT_CURSOR"
}
response = requests.get(url, headers=headers, params=params)
print(response.text)

Repeat with each new nextCursor until it is null. A short page does not mean you have reached the end.

Retrieve partial results after failures and stops. The task's error reports execution failures and credits.used reports actual usage, including paid work that produced no objects. A task can complete successfully with an empty result set.