### GET /v1/twitter/tweets Source: https://api.socialfetch.dev/openapi.json Get a single tweet. ```markdown ### Parameters - **url** (string, query, required): Tweet permalink or identifier. - **trim** (boolean, query, optional): Optional: omit author profile and tweet `core` for a smaller response. ### Responses #### 200 - Tweet details when available. Check `data.lookupStatus` for `found` vs `not_found`. - **data** (object) (required): Endpoint-specific response payload. - **lookupStatus** (string (found|not_found)) (required): Whether the tweet was found or unavailable. ("found"|"not_found") - **author** (object) (required): Author profile and metrics when not trimmed; null when `trim=true` or when not found. - **profile** (object) (required): Profile fields for the tweet author. - **platform** (string (twitter)) (required): Social platform for this profile. ("twitter") - **handle** (string) (required): X screen name (handle) without the leading @. - **displayName** (string) (required): Display name shown on the profile. - **bio** (string) (required): Profile biography text. - **avatarUrl** (string) (required): Best available square avatar image URL. - **bannerUrl** (string): Profile banner image URL when available. - **verified** (boolean) (required): Whether X marks the profile with legacy verification (not necessarily paid blue). - **blueVerified** (boolean) (required): Whether the account has X blue (paid) verification. - **profileUrl** (string) (required): Canonical public profile URL on x.com. - **privateAccount** (boolean) (required): Whether the account is protected (private). - **platformUserId** (string): Numeric X user id (`rest_id`) as a string. - **accountCreatedAt** (integer): Account creation time as Unix epoch seconds when derivable. - **location** (string): Location string from the profile when provided. - **website** (string): Primary outbound link (expanded URL) from the profile. - **pinnedTweetId** (string): Pinned tweet id when X exposes one. - **verificationInfo** (object): Structured verification metadata from X. - **isIdentityVerified** (boolean) (required): Whether X marks the account as identity-verified. - **verifiedSinceMsec** (string): When verification became effective, as milliseconds since epoch (string from X). - **reason** (object): Verification reason payload when X provides it. - **text** (string): Human-readable verification reason text from X. - **entities** (array (unknown)): Inline entity metadata for the reason text (vendor-defined). - **tipJar** (object): Tip jar configuration when present. - **isEnabled** (boolean) (required): Whether the X tip jar is enabled. - **handles** (object): Per-service handles when any are present. - **bandcamp** (string): Bandcamp handle from tip jar. - **bitcoin** (string): Bitcoin address or handle. - **cashApp** (string): Cash App handle. - **ethereum** (string): Ethereum address or handle. - **goFundMe** (string): GoFundMe handle. - **patreon** (string): Patreon handle. - **payPal** (string): PayPal handle. - **venmo** (string): Venmo handle. - **highlights** (object): Tweet highlights metadata when present. - **canHighlightTweets** (boolean) (required): Whether the account may highlight tweets on the profile. - **highlightedTweetCount** (integer) (required): Count of highlighted tweets when reported by X. - **businessAccount** (object): Opaque business-account payload from X when non-empty (vendor-defined). - **creatorSubscriptionsCount** (integer): Creator subscriptions count when X reports it. - **affiliateLabel** (object): Affiliate or business label when X provides one. - **description** (string) (required): Affiliate or business label text shown on the profile. - **badgeUrl** (string): Badge image URL when X provides one. - **url** (string): Destination URL for the label link. - **metrics** (object) (required): Aggregate counts for the tweet author. - **followers** (integer) (required): Follower count from X. - **following** (integer) (required): Following (friends) count from X. - **tweets** (integer) (required): Total post (status) count from X. - **favourites** (integer) (required): Total favourites (likes) count from X. - **listedCount** (integer): Listed count when X provides it. - **mediaCount** (integer): Media item count when X provides it. - **fastFollowersCount** (integer): Fast-followers count when X provides it. - **tweet** (object) (required): Tweet body, metrics, and optional quoted tweet; null when not found. - **id** (string) (required): Tweet id (`rest_id`). - **url** (string) (required): Canonical public URL for this tweet on x.com. - **conversationId** (string) (required): Conversation root tweet id. - **createdAt** (integer) (required): Creation time as Unix epoch seconds. - **language** (string) (required): BCP 47 or X language code. - **text** (string) (required): Full tweet text (includes long-form when available). - **isLongForm** (boolean) (required): True when text was taken from note_tweet metadata instead of legacy.full_text alone. - **displayTextRange** (array (integer)) (required): Start/end character indices for visible text. - **metrics** (object) (required): Engagement metrics for a tweet. - **views** (integer) (required): Impression count when reported by X. - **favorites** (integer) (required): Favorite (like) count. - **retweets** (integer) (required): Native repost count. - **replies** (integer) (required): Reply count. - **bookmarks** (integer) (required): Bookmark count. - **quotes** (integer) (required): Quote tweet count. - **media** (array (union)) (required): Photo, video, or GIF attachments. Array items: - **type** (string (photo)) (required) ("photo") - **id** (string) (required): Media id string. - **url** (string) (required): Short t.co URL for this media. - **displayUrl** (string) (required): Display URL shown in the tweet. - **expandedUrl** (string) (required): Expanded destination URL. - **mediaUrlHttps** (string) (required): HTTPS URL for the media asset. - **sizes** (object) (required): Per-label media dimensions from X. - **thumb** (object) (required): Thumbnail size. - **h** (integer) (required) - **w** (integer) (required) - **resize** (string) (required) - **small** (object) (required): Small variant. - **medium** (object) (required): Medium variant. - **large** (object) (required): Large variant. - **originalInfo** (object) (required): Original pixel dimensions. - **width** (integer) (required) - **height** (integer) (required) - **entities** (object) (required): Entities aligned with `text`. - **hashtags** (array (object)) (required): Hashtag entities. Array items: - **text** (string) (required): Hashtag text without #. - **userMentions** (array (object)) (required): User mention entities. Array items: - **handle** (string) (required): Mentioned screen name. - **displayName** (string): Display name when available. - **platformUserId** (string): Numeric user id for the mention when available. - **urls** (array (object)) (required): URL entities. Array items: - **url** (string) (required): Short URL as it appears in text. - **displayUrl** (string) (required): Human-readable display host/path. - **expandedUrl** (string) (required): Fully expanded destination URL. - **symbols** (array (object)) (required): Symbol entities. Array items: - **isReply** (boolean) (required): Whether this is a reply. - **inReplyToTweetId** (string): Parent tweet id when replying. - **inReplyToUserId** (string): Parent author user id when replying. - **inReplyToScreenName** (string): Parent author handle when replying. - **isQuote** (boolean) (required): Whether this tweet quotes another. - **quotedTweetId** (string): Quoted tweet id when present. - **isRetweet** (boolean) (required): Whether this is a native repost. - **retweetedTweetId** (string): Original tweet id for a repost. - **possiblySensitive** (boolean) (required): Whether X marks the content sensitive. - **editInfo** (object): Edit metadata when applicable. - **editTweetIds** (array (string)) (required): Tweet ids in this edit chain. - **editableUntilMsec** (string) (required): Epoch milliseconds until edits are locked. - **isEditEligible** (boolean) (required): Whether the tweet can still be edited. - **editsRemaining** (string) (required): Remaining edits in the window, as reported by X. - **source** (string): Client label text. - **sourceUrl** (string): Link target from the source anchor when present. - **quotedTweet** (object): Quoted tweet expanded one level (no further nesting on this field). - **meta** (object) (required): Metadata describing the request and billing outcome. - **requestId** (string) (required): Unique request identifier for tracing this API call. - **creditsCharged** (integer) (required): Credits charged for this request. - **version** (string (v1)) (required): Public API version that served the response. ("v1") #### 400 - Invalid request - **error** (object) (required): Error details for the failed request. - **code** (string (bad_request)) (required): Machine-readable error code for the failed request. ("bad_request") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 401 - Missing or invalid API key - **error** (object) (required): Error details for the failed request. - **code** (string (unauthorized)) (required): Machine-readable error code for the failed request. ("unauthorized") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 402 - Insufficient credits - **error** (object) (required): Error details for the failed request. - **code** (string (insufficient_credits)) (required): Machine-readable error code for the failed request. ("insufficient_credits") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 500 - Unexpected or billing error - **error** (object) (required): Error details for the failed request. - **code** (string (internal_error)) (required): Machine-readable error code for the failed request. ("internal_error") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 502 - Lookup could not be completed from the response (unexpected or invalid data). - **error** (object) (required): Error details for the failed request. - **code** (string (lookup_failed)) (required): Machine-readable error code for the failed request. ("lookup_failed") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 503 - Service temporarily unavailable; safe to retry with backoff. - **error** (object) (required): Error details for the failed request. - **code** (string (temporarily_unavailable)) (required): Machine-readable error code for the failed request. ("temporarily_unavailable") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. ### Example Usage ```bash curl -X GET "https://api.socialfetch.dev/v1/twitter/tweets?url=string&trim=true" ``` ``` -------------------------------- ### GET /v1/tiktok/profiles/{handle}/showcase-products Source: https://api.socialfetch.dev/openapi.json Get products featured on a creator's TikTok showcase. ```markdown ### Parameters - **handle** (string, path, required): TikTok handle whose profile showcase products should be listed. - **cursor** (string, query, optional): Pagination cursor returned by a previous response. - **region** (string, query, optional): Optional region (country code) for the request. ### Responses #### 200 - Showcase products for the requested TikTok profile. - **data** (object) (required): Endpoint-specific response payload. - **products** (array (object)) (required): Products shown on the TikTok profile showcase for this page. An empty array can mean no showcased products, a private account, or other cases—call the TikTok profile endpoint first when you need explicit account status. Array items: - **id** (string) (required): Product identifier. - **title** (string) (required): Product title shown on TikTok Shop. - **url** (string) (required): Canonical TikTok Shop URL for the product. - **image** (object) (required): Primary image metadata. - **url** (string) (required): Primary image URL for the product. - **urls** (array (string)) (required): Image URLs for the product in preference order. - **width** (integer) (required): Image width in pixels when available. - **height** (integer) (required): Image height in pixels when available. - **price** (object) (required): Price details when TikTok provides them. - **currencyCode** (string) (required): Currency code for displayed prices. - **currencySymbol** (string) (required): Currency symbol for displayed prices. - **salePrice** (string) (required): Current sale price as a decimal string. - **originalPrice** (string) (required): Original price before discounts as a decimal string. - **discountPercent** (string) (required): Discount amount as shown by TikTok (often a percentage string). - **rating** (object) (required): Rating summary when TikTok provides it. - **score** (number) (required): Average rating score when TikTok reports one. - **reviewCount** (integer) (required): Review count reported by TikTok. - **sales** (object) (required): Sales counts reported by TikTok. - **soldCount** (integer) (required): Sold units reported by TikTok. - **seller** (object) (required): Seller metadata when TikTok provides it. - **id** (string) (required): Seller identifier. - **details** (object): Additional TikTok-native fields for this product that were not mapped into canonical fields. - **page** (object) (required): Pagination state for the current response. - **nextCursor** (string) (required): Cursor to pass in the next request when more products are available. - **hasMore** (boolean) (required): Whether another page of products is available. - **meta** (object) (required): Metadata describing the request and billing outcome. - **requestId** (string) (required): Unique request identifier for tracing this API call. - **creditsCharged** (integer) (required): Credits charged for this request. - **version** (string (v1)) (required): Public API version that served the response. ("v1") #### 400 - Invalid handle or bad request - **error** (object) (required): Error details for the failed request. - **code** (string (bad_request)) (required): Machine-readable error code for the failed request. ("bad_request") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 401 - Missing or invalid API key - **error** (object) (required): Error details for the failed request. - **code** (string (unauthorized)) (required): Machine-readable error code for the failed request. ("unauthorized") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 402 - Insufficient credits - **error** (object) (required): Error details for the failed request. - **code** (string (insufficient_credits)) (required): Machine-readable error code for the failed request. ("insufficient_credits") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 500 - Unexpected or billing error - **error** (object) (required): Error details for the failed request. - **code** (string (internal_error)) (required): Machine-readable error code for the failed request. ("internal_error") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 502 - Lookup could not be completed from the response (unexpected or invalid data). - **error** (object) (required): Error details for the failed request. - **code** (string (lookup_failed)) (required): Machine-readable error code for the failed request. ("lookup_failed") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 503 - Service temporarily unavailable; safe to retry with backoff. - **error** (object) (required): Error details for the failed request. - **code** (string (temporarily_unavailable)) (required): Machine-readable error code for the failed request. ("temporarily_unavailable") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. ### Example Usage ```bash curl -X GET "https://api.socialfetch.dev/v1/tiktok/profiles/{handle}/showcase-products?cursor=string®ion=string" ``` ``` -------------------------------- ### GET /v1/rumble/channels/videos Source: https://api.socialfetch.dev/openapi.json List videos and Shorts from a Rumble channel. ```markdown ### Parameters - **url** (string, query, required): Link to the Rumble channel. - **cursor** (string, query, optional): Page number from a previous response. ### Responses #### 200 - Videos and Shorts for the requested channel. Check `data.lookupStatus` for `found` vs `not_found`. - **data** (object) (required): Endpoint-specific response payload. - **lookupStatus** (string (found|not_found)) (required): Whether the channel was resolved for this request. ("found"|"not_found") - **channel** (object) (required): Resolved channel metadata when available. - **name** (string) (required): Channel display name when available. - **handle** (string) (required): Channel handle when available. - **url** (string) (required): Canonical public channel URL when available. - **videos** (array (object)) (required): Videos returned for the resolved channel. This array may be empty when the channel resolves but there are no videos in the returned page. Array items: - **id** (string) (required): Rumble content identifier. - **kind** (string (video|short|live)) (required): Normalized media kind for this row. ("video"|"short"|"live") - **url** (string) (required): Canonical public URL for this item when available. - **title** (string) (required): Title shown for this item. - **thumbnailUrl** (string) (required): Thumbnail image URL when available. - **channel** (object) (required): Channel metadata when available. - **viewCount** (integer) (required): View count when available. - **viewCountText** (string) (required): Human-readable view count label when available. - **publishedAt** (string) (required): ISO-8601 publish timestamp when available. - **publishedTimeText** (string) (required): Human-readable relative publish time when available. - **durationSeconds** (integer) (required): Duration in seconds when available. - **durationText** (string) (required): Human-readable duration label when available. - **badges** (array (string)) (required): Display badges when present. - **shorts** (array (object)) (required): Shorts returned for the resolved channel. This array may be empty when the channel resolves but there are no Shorts in the returned page. Array items: - **page** (object) (required): Pagination information for the current response. - **nextCursor** (string) (required): Next page number when more results are available. - **hasMore** (boolean) (required): Whether another page of results is available. - **meta** (object) (required): Metadata describing the request and billing outcome. - **requestId** (string) (required): Unique request identifier for tracing this API call. - **creditsCharged** (integer) (required): Credits charged for this request. - **version** (string (v1)) (required): Public API version that served the response. ("v1") #### 400 - Invalid query parameters - **error** (object) (required): Error details for the failed request. - **code** (string (bad_request)) (required): Machine-readable error code for the failed request. ("bad_request") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 401 - Missing or invalid API key - **error** (object) (required): Error details for the failed request. - **code** (string (unauthorized)) (required): Machine-readable error code for the failed request. ("unauthorized") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 402 - Insufficient credits - **error** (object) (required): Error details for the failed request. - **code** (string (insufficient_credits)) (required): Machine-readable error code for the failed request. ("insufficient_credits") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 500 - Unexpected or billing error - **error** (object) (required): Error details for the failed request. - **code** (string (internal_error)) (required): Machine-readable error code for the failed request. ("internal_error") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 502 - Lookup could not be completed from the response (unexpected or invalid data). - **error** (object) (required): Error details for the failed request. - **code** (string (lookup_failed)) (required): Machine-readable error code for the failed request. ("lookup_failed") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 503 - Service temporarily unavailable; safe to retry with backoff. - **error** (object) (required): Error details for the failed request. - **code** (string (temporarily_unavailable)) (required): Machine-readable error code for the failed request. ("temporarily_unavailable") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. ### Example Usage ```bash curl -X GET "https://api.socialfetch.dev/v1/rumble/channels/videos?url=string&cursor=string" ``` ``` -------------------------------- ### GET /v1/youtube/playlists Source: https://api.socialfetch.dev/openapi.json Get a YouTube playlist. ```markdown ### Parameters - **playlistId** (string, query, required): YouTube playlist id, or a YouTube playlist URL (the `list` query value is used when present). ### Responses #### 200 - YouTube playlist lookup result. Check `data.lookupStatus` for `found` vs `not_found`. - **data** (object) (required): Endpoint-specific response payload. - **lookupStatus** (string (found|not_found)) (required): Whether the playlist was resolved for this request. ("found"|"not_found") - **playlist** (object) (required): Playlist summary when found. - **id** (string) (required): YouTube playlist identifier. - **title** (string) (required): Playlist title when available. - **owner** (object) (required): Playlist owner when available. - **platform** (string (youtube)) (required): Social platform for this channel. ("youtube") - **platformUserId** (string) (required): YouTube channel id when available. - **handle** (string) (required): YouTube channel handle without a leading @ when available. - **displayName** (string) (required): Public display name for the playlist owner when available. - **profileUrl** (string) (required): Canonical public YouTube channel URL when available. - **totalVideos** (integer) (required): Reported total number of videos in the playlist when available. - **videos** (array (object)) (required): Videos in the playlist when found. This array is empty when the playlist is not found. Array items: - **id** (string) (required): YouTube video identifier. - **title** (string) (required): Video title when available. - **url** (string) (required): Canonical public YouTube URL for the video when available. - **thumbnailUrl** (string) (required): Best available thumbnail image URL when available. - **durationSeconds** (integer) (required): Duration of the video in seconds when available. - **durationText** (string) (required): Human-readable duration label when available. - **channelTitle** (string) (required): Uploader channel title shown for the video when available. - **channelUrl** (string) (required): Uploader channel URL when available. - **meta** (object) (required): Metadata describing the request and billing outcome. - **requestId** (string) (required): Unique request identifier for tracing this API call. - **creditsCharged** (integer) (required): Credits charged for this request. - **version** (string (v1)) (required): Public API version that served the response. ("v1") #### 400 - Invalid query or bad request - **error** (object) (required): Error details for the failed request. - **code** (string (bad_request)) (required): Machine-readable error code for the failed request. ("bad_request") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 401 - Missing or invalid API key - **error** (object) (required): Error details for the failed request. - **code** (string (unauthorized)) (required): Machine-readable error code for the failed request. ("unauthorized") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 402 - Insufficient credits - **error** (object) (required): Error details for the failed request. - **code** (string (insufficient_credits)) (required): Machine-readable error code for the failed request. ("insufficient_credits") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 500 - Unexpected or billing error - **error** (object) (required): Error details for the failed request. - **code** (string (internal_error)) (required): Machine-readable error code for the failed request. ("internal_error") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 502 - Lookup could not be completed from the response (unexpected or invalid data). - **error** (object) (required): Error details for the failed request. - **code** (string (lookup_failed)) (required): Machine-readable error code for the failed request. ("lookup_failed") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 503 - Service temporarily unavailable; safe to retry with backoff. - **error** (object) (required): Error details for the failed request. - **code** (string (temporarily_unavailable)) (required): Machine-readable error code for the failed request. ("temporarily_unavailable") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. ### Example Usage ```bash curl -X GET "https://api.socialfetch.dev/v1/youtube/playlists?playlistId=string" ``` ``` -------------------------------- ### GET /v1/web/ask Source: https://api.socialfetch.dev/openapi.json Ask a natural-language question about a web page and get an LLM-generated answer. ```markdown ### Parameters - **url** (string, query, required): Web page URL to fetch. - **q** (string, query, required): Natural-language question to answer about the page content. ### Responses #### 200 - LLM answer for the question about the page. Check data.lookupStatus: found returns answer; restricted means bot or access protection blocked the fetch (answer is null). - **data** (object) (required): Endpoint-specific response payload. - **lookupStatus** (string (found|restricted)) (required): Whether page content could be extracted. Restricted means bot protection or similar access controls blocked automated fetching. ("found"|"restricted") - **url** (string) (required): URL that was analyzed. - **answer** (string) (required): LLM-generated answer when lookupStatus is found; null when restricted. - **meta** (object) (required): Metadata describing the request and billing outcome. - **requestId** (string) (required): Unique request identifier for tracing this API call. - **creditsCharged** (integer) (required): Credits charged for this request. - **version** (string (v1)) (required): Public API version that served the response. ("v1") #### 400 - Invalid query parameters or disallowed URL - **error** (object) (required): Error details for the failed request. - **code** (string (bad_request)) (required): Machine-readable error code for the failed request. ("bad_request") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 401 - Missing or invalid API key - **error** (object) (required): Error details for the failed request. - **code** (string (unauthorized)) (required): Machine-readable error code for the failed request. ("unauthorized") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 402 - Insufficient credits - **error** (object) (required): Error details for the failed request. - **code** (string (insufficient_credits)) (required): Machine-readable error code for the failed request. ("insufficient_credits") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 500 - Unexpected or billing error - **error** (object) (required): Error details for the failed request. - **code** (string (internal_error)) (required): Machine-readable error code for the failed request. ("internal_error") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 502 - Answer could not be produced. - **error** (object) (required): Error details for the failed request. - **code** (string (lookup_failed)) (required): Machine-readable error code for the failed request. ("lookup_failed") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. #### 503 - Service temporarily unavailable; safe to retry with backoff. - **error** (object) (required): Error details for the failed request. - **code** (string (temporarily_unavailable)) (required): Machine-readable error code for the failed request. ("temporarily_unavailable") - **message** (string) (required): Human-readable error message. May change over time; do not parse it. Use `error.code` and the HTTP status for programmatic handling. - **requestId** (string) (required): Unique request identifier for tracing the failed API call. ### Example Usage ```bash curl -X GET "https://api.socialfetch.dev/v1/web/ask?url=string&q=string" ``` ```