fetchproof.

/v1/twitter/profile

GET

Profile

Get Twitter profile information including stats and metadata

Credit cost

Default: 1 credit

How charges are determined

Cost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns.

A call that fails costs 0 credits. A result served from cache costs 0 credits.

`default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins.

A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true).

A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute.

Cache supportUse a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.
PaginationNo explicit pagination metadata in the published contract. Consult the parameters and response fields below.

Parameters

NameLocation / requiredSchema
handle

Twitter handle

query / required

string

cache_max_age

Use a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.

query / optional

string

Allowed values ["1d","3d","7d","14d","30d"]

Request examples

Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.

cURL
curl --request GET 'https://api.fetchproof.com/v1/twitter/profile?handle=YOUR_HANDLE' \
  --header 'x-api-key: YOUR_API_KEY'
JavaScript
const response = await fetch("https://api.fetchproof.com/v1/twitter/profile?handle=YOUR_HANDLE", {
  method: 'GET',
  headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());
Python
import os
import requests

response = requests.get("https://api.fetchproof.com/v1/twitter/profile?handle=YOUR_HANDLE",
    headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)

Responses

200Success. Envelope: success / credits_remaining / credits_charged.

application/json

object

successrequired

boolean

credits_remainingrequired

integer

credits_chargedrequired

integer

__typenamerequired

string

idrequired

string

rest_idrequired

string

affiliates_highlighted_labelrequired

object

labelrequired

object

urlrequired

object

urlrequired

string

urlTyperequired

string

badgerequired

object

urlrequired

string

descriptionrequired

string

userLabelTyperequired

string

userLabelDisplayTyperequired

string

is_blue_verifiedrequired

boolean

profile_image_shaperequired

string

legacyrequired

object

created_atrequired

string

default_profilerequired

boolean

default_profile_imagerequired

boolean

descriptionrequired

string

entitiesrequired

object

descriptionrequired

object

urlsrequired

array

Array items

object

display_urlrequired

string

expanded_urlrequired

string

urlrequired

string

indicesrequired

array

Array items

integer

urloptional

object

urlsrequired

array

Array items

object

display_urlrequired

string

expanded_urlrequired

string

urlrequired

string

indicesrequired

array

Array items

integer

fast_followers_countrequired

integer

favourites_countrequired

integer

followers_countrequired

integer

friends_countrequired

integer

has_custom_timelinesrequired

boolean

is_translatorrequired

boolean

listed_countrequired

integer

locationrequired

string

media_countrequired

integer

namerequired

string

normal_followers_countrequired

integer

pinned_tweet_ids_strrequired

array

Array items

string

possibly_sensitiverequired

boolean

profile_banner_urlrequired

string

profile_image_url_httpsrequired

string

profile_interstitial_typerequired

string

screen_namerequired

string

statuses_countrequired

integer

translator_typerequired

string

urlrequired

string

verifiedoptional

boolean

withheld_in_countriesoptional

array

follow_request_sentoptional

boolean

needs_phone_verificationoptional

boolean

notificationsoptional

boolean

time_zoneoptional

string

utc_offsetoptional

integer

withheld_descriptionoptional

string

withheld_scopeoptional

string

tipjar_settingsrequired

object

is_enabledrequired

boolean

bandcamp_handlerequired

string

bitcoin_handlerequired

string

cash_app_handlerequired

string

ethereum_handlerequired

string

gofundme_handlerequired

string

patreon_handlerequired

string

pay_pal_handlerequired

string

venmo_handlerequired

string

legacy_extended_profilerequired

object

is_profile_translatablerequired

boolean

has_hidden_subscriptions_on_profilerequired

boolean

verification_inforequired

object

is_identity_verifiedrequired

boolean

reasonrequired

object

descriptionrequired

object

textrequired

string

entitiesrequired

array

Array items

object

from_indexrequired

integer

to_indexrequired

integer

refrequired

object

urlrequired

string

url_typerequired

string

verified_since_msecrequired

string

override_verified_yearoptional

integer

highlights_inforequired

object

can_highlight_tweetsrequired

boolean

highlighted_tweetsrequired

string

user_seed_tweet_countrequired

integer

business_accountrequired

object

creator_subscriptions_countrequired

integer

cachedoptional

boolean

cached_atoptional

string

{
  "format": "date-time"
}
avataroptional

object

image_urlrequired

string

coreoptional

object

created_atrequired

string

namerequired

string

screen_namerequired

string

dm_permissionsoptional

object

can_dmrequired

boolean

has_graduated_accessoptional

boolean

locationoptional

object

locationrequired

string

media_permissionsoptional

object

can_media_tagrequired

boolean

parody_commentary_fan_labeloptional

string

privacyoptional

object

protectedrequired

boolean

professionaloptional

object

categoryrequired

array

professional_typerequired

string

rest_idrequired

string

relationship_perspectivesoptional

object

blocked_byrequired

boolean

blockingrequired

boolean

followed_byrequired

boolean

followingrequired

boolean

mutingrequired

boolean

super_follow_eligibleoptional

boolean

super_followed_byoptional

boolean

super_followingoptional

boolean

verificationoptional

object

verifiedrequired

boolean

401Invalid or missing x-api-key
402No credits remaining
403Upstream denied (age gate, audience controls)
404Resource or endpoint not found
429Rate limited