LurkAPI
Docs · Profile

Profile

An account's bio, avatar, follower and post counts, and verification.

1 credit per callFresh within 10 minutesMCP tool: truthsocial_profile
GEThttps://api.lurkapi.com/v1/truthsocial/profile

Example responseView as markdown

When to use this

Use it to size up an account: followers, following, post count, verification and the date of the latest post. id is what user posts takes as user_id.

Pass handle as a username, @username or a truthsocial.com profile URL.

Unknown accounts return 404 not_found. Accounts explicitly hidden from logged-out visitors return 403 not_public. When the upstream cannot distinguish a hidden account from a missing one, the response is 404 not_found. Prominent accounts and most other public ones are visible.

Parameters

All parameters go in the query string.

ParameterDescription
handle
stringrequired
Username, with or without @ (e.g. realDonaldTrump), or the profile URL.
Example
realDonaldTrump

Example request

Replace YOUR_API_KEY with your key, or set LURKAPI_KEY for the code. Get a free key.

Language

Example response

A real response from this endpoint, captured from the live API and trimmed to a couple of items. Strings over 96 characters (mostly signed media URLs) are cut short and end in ….

Show the example response (1 KB)
{
  "success": true,
  "credits_remaining": 999998,
  "credits_charged": 1,
  "id": "107780257626128497",
  "username": "realDonaldTrump",
  "acct": "realDonaldTrump",
  "display_name": "Donald J. Trump",
  "note": "<p></p>",
  "note_text": "",
  "url": "https://truthsocial.com/@realDonaldTrump",
  "avatar": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/av…",
  "header": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/he…",
  "website": "www.DonaldJTrump.com",
  "location": null,
  "fields": [],
  "followers_count": 13086927,
  "following_count": 69,
  "statuses_count": 36875,
  "last_status_at": "2026-09-30",
  "verified": true,
  "premium": true,
  "locked": false,
  "bot": false,
  "created_at": "2022-02-11T16:16:57.705Z"
}

Response fields

Every field of a successful response. [] marks a list: a[].b is the b of each item in a. nullable fields can be null; optional fields can be missing.

Show all 26 fields
FieldTypeDescription
successtrueAlways true here; errors have success: false.
credits_remainingnumberYour balance after this call. On anonymous playground calls: free tries left today.
credits_chargednumberCredits this call cost; 0 on free endpoints. On anonymous playground calls: tries used (1).
idstringAccount id, e.g. 107780257626128497. Pass it as user_id to user posts.
usernamestringUsername without @, e.g. realDonaldTrump.
acctstringSame as username: every Truth Social account is local.
display_namestringDisplay name.
notestringBio as HTML.
note_textstringBio as plain text.
urlstringProfile on truthsocial.com.
avatarstringnullableProfile picture URL; null if none.
headerstringnullableBanner image URL; null if none.
websitestringnullableWebsite from the profile, as typed (may lack https://); null if none.
locationstringnullableLocation from the profile; null if none.
fieldsobject[]Extra profile fields (label/value pairs).
fields[].namestringLabel.
fields[].valuestringValue as HTML.
followers_countnumberFollowers.
following_countnumberAccounts followed.
statuses_countnumberPosts, replies and reposts.
last_status_atstringnullableDay of the latest post, YYYY-MM-DD; null if never posted.
verifiedbooleanHas the verified badge.
premiumbooleannullableHas Truth+ premium; null if not reported.
lockedbooleanApproves followers manually.
botbooleanMarked as an automated account.
created_atstringAccount created at, ISO 8601.

Caching and freshness

Responses are cached for up to 10 minutes, so a repeat call within that window can return the same data. It still costs 1 credit.

Errors

Errors return { success: false, error, code, docs } with the HTTP status below. Validation errors, 401/402/429 rejections and 5xx failures are free; not_found is charged (how charging works). All error codes.

StatusCodeMeaning
401missing_api_keyNo API key. Send it in the x-api-key header.
401invalid_api_keyThe key is unknown or was revoked.
402insufficient_creditsNot enough credits for this call. Buy a pack or wait for tomorrow's top-up.
403not_publicThe platform confirmed this account or content isn't available to logged-out visitors. Use a publicly visible target.
404not_foundThe endpoint, or the thing you asked for (ad, post, subreddit), doesn't exist. Charged when the platform was checked.
405method_not_allowedEndpoints take GET with query params.
429rate_limitedToo many calls at once. Wait for the retry-after seconds, then retry.
500internal_errorSomething broke on our side. Retry; 5xx errors are free.
502upstream_errorThe platform didn't give a usable answer. Retry; 5xx errors are free.
503upstream_busyAll our connections to the platform are busy. Retry in a few seconds; 5xx errors are free.
504upstream_timeoutThe platform took over 30 seconds to answer. Retry; timeouts are free.

Use it in Claude

Once LurkAPI is connected to Claude, this endpoint is the truthsocial_profile tool. Ask in plain English, for example:

Ask Claude
Use LurkAPI's truthsocial_profile with handle "realDonaldTrump" and summarize what you find.

Claude calls truthsocial_profile with arguments like these, and each call costs 1 credit:

Tool arguments
{
  "handle": "realDonaldTrump"
}

Tool results skip nulls and empty lists to save tokens.