Skip to main content
Glama

Facebook Post

social_facebook_post
Read-only

Retrieves a single public Facebook post or reel by URL. Use one request per reel, passing its returned /reel/ URL from /v1/facebook/profile/reels, to retrieve available like_count, reaction_counts, comment_count, share_count, and a more precise view_count when Facebook exposes it. This endpoint accepts a single URL, not a batch; exact views are not guaranteed. Returns post_id, like_count, comment_count, share_count, view_count, description, creation_time, and author details, including the author handle when Facebook exposes a vanity profile URL. For some reels, Facebook does not expose the same view count on the individual post page that it shows on the profile Reels grid. This value can be null or lower than the public Reels badge. If you need the public Reel badge count, call /v1/facebook/profile/reels with the author URL and match the reel by post_id. For video posts, includes video sd_url, hd_url, thumbnail, and length_in_second. Optionally fetches comments and transcript via get_comments and get_transcript parameters. is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. shared_post_id and shared_post_url identify the immediate post being shared when Facebook exposes it; both are nullable strings and are null when the reference is unavailable. Null does not prove the post is not a share. Existing id, post_id, and url values remain unchanged. The original is not automatically fetched, and these fields add no additional upstream requests. Call /v1/facebook/post with shared_post_url separately to retrieve the original's available media. Transcription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Post API View Pricing Get a public Facebook post or Reel, with shared_post_id and shared_post_url when exposed. Reel views may be null or below the badge; for badge counts, use /v1/facebook/profile/reels and match post_id. Exact views are not guaranteed. 1 credit per request Retrieves a single public Facebook post or reel by URL. Use one request per reel, passing its returned /reel/ URL from /v1/facebook/profile/reels, to retrieve available like_count, reaction_counts, comment_count, share_count, and a more precise view_count when Facebook exposes it. This endpoint accepts a single URL, not a batch; exact views are not guaranteed. Returns post_id, like_count, comment_count, share_count, view_count, description, creation_time, and author details, including the author handle when Facebook exposes a vanity profile URL. For some reels, Facebook does not expose the same view count on the individual post page that it shows on the profile Reels grid. This value can be null or lower than the public Reels badge. If you need the public Reel badge count, call /v1/facebook/profile/reels with the author URL and match the reel by post_id. For video posts, includes video sd_url, hd_url, thumbnail, and length_in_second. Optionally fetches comments and transcript via get_comments and get_transcript parameters. is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. shared_post_id and shared_post_url identify the immediate post being shared when Facebook exposes it; both are nullable strings and are null when the reference is unavailable. Null does not prove the post is not a share. Existing id, post_id, and url values remain unchanged. The original is not automatically fetched, and these fields add no additional upstream requests. Call /v1/facebook/post with shared_post_url separately to retrieve the original's available media. Transcription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Transcription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit; default short AI is included; allow_long_transcription=true adds 10 credits per started minute to the existing base cost). See the Caching page for details.

Input Schema

NameRequiredDescriptionDefault
urlYesThe URL of the post to get
cache_max_ageNoIf we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit; default short AI is included; allow_long_transcription=true adds 10 credits per started minute to the existing base cost). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
get_transcriptNoTranscription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed.
allow_long_transcriptionNoPaid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly/openWorld/non-destructive, and the description adds genuinely useful behavior beyond them: nullable-field semantics (is_paid_partnership never returns false, null view counts, null shared_post_id does not prove non-share), a 30-second client timeout, and credit/caching economics. That content is real value, but it is repeated nearly verbatim four times, so the signal is diluted rather than layered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The leading sentence is well front-loaded and the core content is valuable, but the body repeats the same transcription-pricing and timeout paragraph four times verbatim and closes with pasted marketing copy ('Facebook Post API View Pricing…'). Sentences do not earn their place; this is approximately 4x the length needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a scrape-and-return tool with no output schema, it covers the returned fields, nullability rules, video media fields, latency floor, and cost/caching model — enough for an agent to call it confidently. The only real gap is the phantom get_comments parameter and the lack of guidance versus the dedicated comments/transcript tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already documented in the schema; the description adds little beyond paraphrasing the transcription and cost semantics. Worse, it instructs passing a 'get_comments' parameter that does not exist in the input schema, which could send an agent looking for a nonexistent field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource ('Retrieves a single public Facebook post or reel by URL') and is followed by concrete distinctions from siblings (profile/reels for badge counts, /v1/facebook/post for the shared original). It does not, however, distinguish itself from social_facebook_post_comments or social_facebook_post_transcript, which overlap with the get_comments/get_transcript options it advertises.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Strong when-to-use routing: it names the reels-list endpoint as the source of the URL and as the fallback for public Reel badge counts, and tells the agent to call /v1/facebook/post separately for the shared original's media. It never says when to prefer the dedicated comments/transcript sibling tools over the inline options, which leaves one real choice unresolved.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.