GET /v1/bloggers/

Returns one account (blogger record) from your organization by its internal UUID, with the same aggregated statistics as GET /v1/bloggers.

To start tracking a new account, use POST /v1/bloggers/track first and poll GET /v1/bloggers/jobs/{job_id} until succeeded.

📋 Overview

Property Value
Method GET
Endpoint https://api.influtics.com/v1/bloggers/{id}
Auth Required ✅ Yes
Plan Required 💳 Paid β€” free-tier keys get 402 PAID_PLAN_REQUIRED
Credits Cost 0 credits

🔐 Headers

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

📝 Path Parameters

Parameter Type Required Description
id string (uuid) ✅ Required The account's internal UUID β€” the id returned by GET /v1/bloggers. Must be a canonical UUID.

This endpoint takes no query parameters. Every filter lives on the list endpoint.

Example Request

curl -X GET "https://api.influtics.com/v1/bloggers/1b7c4e90-3a55-4d21-9f08-6c2ad5b19e34" \
  -H "Authorization: Bearer YOUR_API_KEY"
# A trailing slash is accepted
curl -X GET "https://api.influtics.com/v1/bloggers/1b7c4e90-3a55-4d21-9f08-6c2ad5b19e34/" \
  -H "Authorization: Bearer YOUR_API_KEY"

📤 Response

data is the account object itself β€” there is no blogger or account wrapper, and there is no pagination block on this endpoint.

{
  "success": true,
  "data": {
    "id": "1b7c4e90-3a55-4d21-9f08-6c2ad5b19e34",
    "channel_name": "Kate Comfortt",
    "channel_username": "katecomfortt",
    "channel_thumbnail": "https://xhrjtpcqcdqwcdiqrhfw.supabase.co/storage/v1/object/public/avatars/katecomfortt.jpg",
    "url": "https://www.instagram.com/katecomfortt",
    "platform": "instagram",
    "is_tracked": true,
    "tracking_id": "8c3f2b71-0d64-4a92-b1f7-2e5c9a4d6b13",
    "tracked_at": "2026-02-14T09:31:00Z",
    "last_scraped_at": "2026-10-19T22:00:00Z",
    "campaign": "Авито НСдвиТ",
    "budget_per_video": 12000,
    "daily_videos_count": 3,
    "video_count": 42,
    "number_of_subscribers": 128400,
    "total_views": 18732000,
    "median_views": 312000,
    "avg_views": 446000,
    "created_at": "2026-01-08T11:02:41Z",
    "updated_at": "2026-10-19T22:03:12Z"
  },
  "meta": {
    "request_id": "9f7e8d4c-1a2b-4c3d-8e5f-6a7b8c9d0e1f"
  }
}

account fields

Identical to the list endpoint β€” see account fields on GET /v1/bloggers for the full table with types and nullability.

Field Type Description
id string | null Internal account UUID.
channel_name string | null Creator's display name.
channel_username string | null Username without @; null when unknown.
channel_thumbnail string | null Avatar URL.
url string | null Canonical profile URL.
platform string | null Platform identifier.
is_tracked boolean Actively tracking β€” a paused account reads false.
tracking_id string | null UUID of the tracking row.
tracked_at string | null When tracking started (ISO 8601).
last_scraped_at string | null When platform stats were last refreshed β€” not when this request was made.
campaign string | null Exact campaign name, or null when the account is not in a campaign β€” which is the case for about 97% of accounts. See the campaign notes on the list endpoint.
budget_per_video number | null Per-video budget configured for the account.
daily_videos_count number | null Videos per day expected by the tracking schedule.
video_count number | null Number of videos with statistics in the org.
number_of_subscribers number | null Subscriber / follower count at last refresh.
total_views number | null Sum of views across the account's videos.
median_views number | null Median views across the account's videos.
avg_views number | null Mean views per video. Published as avg_views.
created_at string | null When the account row was created (ISO 8601).
updated_at string | null When the account row was last written (ISO 8601).

Envelope fields

Field Type Description
meta.request_id string Unique request identifier.

⚠️ Error Responses

All errors share the standard envelope { success: false, error: { code, message, request_id, ... } }. The table below lists every documented code and the conditions that trigger it.

Status code Trigger Additional error fields
401 INVALID_API_KEY The Authorization: Bearer header is missing, empty, or malformed β€”
402 PAID_PLAN_REQUIRED Free-tier API key attempted the call upgrade_url
403 INVALID_OR_INACTIVE_API_KEY The API key is well-formed but unknown, revoked, or deactivated β€”
404 NOT_FOUND No account with that id in your organization β€” including an id that belongs to another organization β€”
404 NOT_FOUND The path segment is not a canonical UUID (e.g. GET /v1/bloggers/alice) β€”
503 RETRY Subscription status could not be verified; retry shortly β€”
500 INTERNAL_ERROR Unexpected database or service failure β€”

A 403 means the key was recognised and can no longer be used β€” a revoked or deactivated credential β€” which is a different client-side fix from a 401, where the Authorization: Bearer header never arrived or was malformed. The two are deliberately distinct: a credential that never arrived versus one that arrived and is unusable.

📌 Notes

A cross-organization id returns the same 404 as a missing one

An account that exists but belongs to another organization is indistinguishable from one that does not exist: both return 404 NOT_FOUND with the message Account not found. This is deliberate β€” it is what stops the endpoint from leaking which UUIDs are real.

A non-UUID path segment is a routing 404, not a validation error

/v1/bloggers/alice does not reach this handler. The path is checked against a UUID pattern first, and a non-UUID falls through to the generic not-found route with the message Not found: GET /v1/bloggers/alice. Same status and code, different message β€” so if you need to tell "malformed id" from "unknown id", match on message.

is_tracked means actively tracking

is_tracked is true only while tracking is running. A paused account reads false, identical to an account you never tracked. See the full explanation on the list endpoint.

avg_likes, avg_comments and avg_reposts are not returned

The statistics view behind this endpoint aggregates views only, so there is no engagement average to compute. The three fields are omitted rather than emitted as 0. For computed engagement averages use GET /v1/bloggers/by-username/{username}, which returns them β€” there 0 means "no video data to average".

Duplicated accounts resolve to the most recently tracked copy

A blogger with two tracking rows has two rows in the underlying view. This endpoint returns one of them: the copy with the newest tracked_at. Fields that come from the tracking row (tracking_id, tracked_at, campaign, budget_per_video, daily_videos_count, is_tracked) therefore reflect that copy. Account-level fields (channel_name, platform, number_of_subscribers) and all view aggregates are identical across copies.

  • The response is scoped to the calling organization.
  • This endpoint only reads tables the organization already pays for and calls no platform API, so it costs 0 credits.
  • Statistics are as of the last platform refresh (last_scraped_at), not the moment of this request.

Related: List Accounts β†’ | Creator Lookup by Username β†’ | Get Creator β†’