---
title: "Poll batch social media lookup"
method: POST
path: "/v1/social-media-lookup/batch/poll"
tags: ["Social media lookup"]
---

# Poll batch social media lookup

`POST /v1/social-media-lookup/batch/poll`

## Request

- Base URL: `https://api.fiber.ai`
- URL: `https://api.fiber.ai/v1/social-media-lookup/batch/poll`
- Auth: none declared

Poll for the results of a batch social media lookup. Returns partial results as they become available, with overall progress statistics.

<span>⚡ <strong>Rate limit:</strong> 240 requests per 1 minute</span>

## Request body

- object
  - `apiKey` string, required: Your Fiber API key
  - `runId` string, required: The ID of the batch run returned by the batch trigger endpoint.
  - `nextPageToken` string, nullable: Token from the previous response to fetch the next page. Omit for the first page.
  - `pageSize` number: Number of results to return per page (default 50, max 100).

## Response `200`

Default Response

- object
  - `output` object, required
    - `status` 'pending' | 'in_progress' | 'completed' | 'failed', required: Current status of the batch run.
    - `overallStats` object, required: Summary statistics for the entire batch.
      - `totalPeople` integer, required: Total number of people in this batch.
      - `numCompleted` integer, required: Number of people whose lookup has completed (success or no-match).
      - `numFailed` integer, required: Number of people whose lookup failed (insufficient info, error).
      - `numRemaining` integer, required: Number of people still being processed.
    - `results` object[], required: One entry per person on this page.
      - `fullName` string, required: The full name of the person this result corresponds to.
      - `customerProvidedId` string, nullable: The external ID echoed back from the input for joining results to your original dataset.
      - `outcome` 'FOUND_CANDIDATES' | 'NO_CANDIDATES_FOUND' | 'INSUFFICIENT_INFORMATION' | 'null', nullable: Overall outcome: FOUND_CANDIDATES if at least one profile was found, NO_CANDIDATES_FOUND if the search returned nothing, INSUFFICIENT_INFORMATION if there was not enough input to search.
      - `candidates` object[], required: The best-match profiles found, one per platform. Empty if no confident matches were found.
        - `platform` 'TWITTER' | 'LINKEDIN' | 'INSTAGRAM' | 'FACEBOOK' | 'TIKTOK' | 'YOUTUBE' | 'THREADS' | 'PINTEREST' | 'BLUESKY' | 'TWITCH' | 'ASK_FM' | 'STEAM' | 'MEDIUM' | 'YELP' | 'TRIPADVISOR' | 'DISCORD' | 'OTHER', required: The social media platform this candidate is for.
        - `handle` string, required: The handle or username on that platform, without any @ prefix (e.g. 'karpathy').
        - `profileUrl` string, uri, nullable: Full URL to the profile on that platform (e.g. 'https://x.com/karpathy').
        - `displayName` string, nullable: The display name shown on the profile.
        - `bio` string, nullable: Profile bio or description.
        - `location` string, nullable: Location as displayed on the profile.
        - `followerCount` integer, nullable: Number of followers on that platform.
        - `isVerified` boolean, nullable: Whether the account is verified on that platform.
        - `confidenceOutOf10` integer, required: Confidence score from 0 to 10. Higher scores indicate a stronger match.
        - `rationale` string, nullable: The AI reasoning for why this profile was selected as the best match.
      - `errorMessage` string, nullable: Error message if the lookup failed for this person. Null on success.
    - `nextPageToken` string, nullable: Token for the next page of results. Null when there are no more results.
  - `chargeInfo` union, required
    - object: Credits were charged immediately for this operation
      - `method` 'charged-now', required
      - `creditsCharged` number, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: Credits will be charged after the operation completes
      - `method` 'charging-later', required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: Credits that were charged for an asynchronous operation
      - `method` 'charged-for-async-process', required
      - `creditsCharged` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: No credits were charged for this operation
      - `method` 'free', required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: Credits were refunded for this operation
      - `method` 'credits-refunded', required
      - `creditsRefunded` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
  - `warnings` object[], nullable: Warnings about extraneous fields in request
    - `field` string, required: Full path to extraneous field (e.g., 'searchParams.ExtraField')
    - `message` string, required: Warning message
  - `advice` string[], nullable: Tips, recommendations, and suggestions for using this API effectively.

## Other responses

- `400`: Default Response
- `401`: Default Response
- `402`: Default Response
- `403`: Default Response
- `404`: Default Response
- `422`: Default Response
- `429`: Default Response
- `500`: Default Response
- `503`: Default Response

## Changes

- **2026-07-31** `4002aa81d4fb`: 2 breaking, 1 info
  - the response property `advice` became nullable for the status `200`
  - the response property `advice` became optional for the status `200`
  - the `advice` response's property default value `` was removed for the status `200`
- **2026-07-13** `f14ac2efab0c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fiber/apis/fiber-ai-api/changes/v1/social-media-lookup/batch/poll/post.md)

---

[API](https://skmtc.dev/fiber/apis/fiber-ai-api.md) - [All operations](https://skmtc.dev/fiber/apis/fiber-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fiber/apis/fiber-ai-api/revisions/02c72abf1918?raw)
