POST /api/v1/bulk-taskscurl -X POST "https://avatarlookup.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=line_profile_batch \
-F country=US \
-F file=@numbers.txtBulk product line_profile_batch
Upload phone numbers and download the LINE profile data, avatar included.
An add-on for whole large lists — for a handful of phone numbers the realtime check answers in the same request. Realtime check →
API contract
Submitting returns a task id right away; check the task by that id and, once it succeeds, the response carries the result file download link. Each request is shown with its own response.
Balance for the valid lines is reserved, to be settled on completion, and the task starts running in the background.
POST /api/v1/bulk-taskscurl -X POST "https://avatarlookup.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=line_profile_batch \
-F country=US \
-F file=@numbers.txt200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "line_profile_batch",
"status": "processing",
"country": "US",
"total": 1000,
"created_at": "2026-09-08T09:30:00Z"
}
}Poll by task id. A successful response carries the success and failure counts and the result file download link.
GET /api/v1/bulk-tasks/{id}curl "https://avatarlookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "line_profile_batch",
"status": "success",
"country": "US",
"total": 1000,
"success_cnt": 990,
"failure_cnt": 10,
"result_url": "https://…/result.zip",
"created_at": "2026-09-08T09:30:00Z"
}
}How it runs
Bulk is not realtime made bigger — it is submit once, run in the background, collect later. You do not need to keep the page open; task state and results stay in your dashboard.
A .txt or .csv with one phone number per line. It is streamed straight through; nothing is written to disk.
Format and country rules are checked first, then balance is reserved for the valid lines and settled on completion. Nothing is charged if the precheck fails.
The task runs on its own — close the page if you like. A failure is reported straight away and fully refunded.
Collect the file from the bulk check page. You pay only for phone numbers that actually returned a result; the difference is refunded.
Result fields
The download is a zip containing the full result table.
number · +14155552671activated · yesuid · ub2b4c718e837b7f19321820nickname · Kenjiavatar · https://line.waavatar.xyz/v/example.jpgcategory · individual portraitgender · femaleage · 72skin_color · east_asianhair_color · gray whiteBest for
Direct answer
Bulk LINE number profile: the avatar plus nickname, user id and a set of appearance attributes the provider infers. Pick the country the numbers belong to when you upload.
Clear boundaries
When bulk fits
| Realtime check | Bulk check | |
|---|---|---|
| How many phone numbers | 1 phone number per single check; several per multi request — exact caps are in the API docs | A whole large list in one task — the current size range is on the pricing page |
| Getting results | Right away: single and multi-endpoint answer in the same response; the dashboard returns them one by one | Download a result file when the task finishes |
| Country | None to pick — each number carries its own country code, mix freely in one request | One country per task, selected at upload and submitted with the file |
| Result shape | JSON, fields per phone number | Result file (zip with the full table and split lists) |
| Typical use | Form validation, agent lookups, pre-send gating | List hygiene, pre-campaign filtering, stored-data cleanup |
Product FAQ
Use bulk for a whole large list. For a handful of phone numbers the realtime check answers in the same request, with no task to schedule.
The precheck drops malformed lines, so they never enter the billable count. Of the phone numbers that remain, any the upstream cannot resolve are not charged either. You pay only for phone numbers that actually return a result.
It depends on the phone number count and the product. You can close the page after submitting; the task runs in the background and the result waits for you on the bulk check page.
Yes. A failed task is refunded in full. If the task succeeds but some phone numbers return nothing, that portion is refunded automatically. The difference between the reserved amount and what was actually charged always comes back.
Related products
ws_profile_batchWhatsApp avatar · BulkUpload a whole file of phone numbers and download the WhatsApp avatar data when the task finishes.tg_profile_batchTelegram profile · BulkUpload phone numbers and download the Telegram profile data, avatar included.tg_username_profile_batchTelegram username profile · BulkUpload Telegram usernames and download the profile data, avatar included.viber_profile_batchViber profile · BulkUpload phone numbers and download the Viber profile data, avatar included.max_profile_batchMAX profile · BulkUpload phone numbers and download the MAX profile data, avatar included.zalo_profile_batchZalo profile · BulkUpload phone numbers and download the Zalo profile data, avatar included.email_avatar_batchEmail avatar · BulkUpload a whole file of email addresses and download the avatar data when the task finishes.Bulk and realtime checks draw on the same balance — nothing extra to enable. Sign up and upload your first file on the bulk check page.