Skip to content
scrapeatlas.Dashboard

Search Facebook posts by hashtag

Try in Playground

Discover public Facebook posts tagged with a hashtag, with post text, author, time, engagement counts, ordered media attachments and continuation. Each call returns up to about ten posts.

GET/v1/facebook/hashtagx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
2
hashtagstringrequiredquery

Hashtag to discover posts for, with or without the leading #: letters, digits and underscores, up to 100 characters.

min 1 chars · max 101 chars

Exampletravel
cursorstringquery

Opaque continuation from this service. Preserve it exactly; cursors are source- and route-specific.

min 1 chars · max 16000 chars

Response fields
45
dataobjectoptional

Normalized result with author, post, event or listing data and per-item coverage where applicable.

Optional.

hydration.totalinteger

Always included.

hydration.enrichedinteger

Always included.

hydration.failedinteger

Always included.

successboolean

True when usable public data is returned.

statusenum

success or partial on HTTP 200; failed or challenged on failure.

one of: success, partial

requestIdstring

Request correlation UUID.

sourceUrlstring

Canonical public Facebook page used for retrieval.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Completeness of this bounded response. Warnings name restricted, missing, interrupted or unavailable optional data.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

Counted upstream requests, decoded response bytes and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsinteger

Always included.

≥ 0

Public posts tagged with the hashtag, in the source's ranking order; empty when the hashtag has no public posts.

up to 100 items

Always included.

up to 100 items

posts.mediaAttachments.idstring | numbernullable

Always included.

posts.mediaAttachments.indexinteger

Always included.

≥ 0

posts.mediaAttachments.typeenum

Always included.

one of: image, video, gif, unknown

posts.mediaAttachments.urlstringnullable

Always included.

posts.mediaAttachments.thumbnailUrlstringnullable

Always included.

posts.mediaAttachments.widthnumbernullable

Always included.

posts.mediaAttachments.heightnumbernullable

Always included.

Always included.

posts.mediaAttachments.bestVideo.urlstring

Always included.

posts.mediaAttachments.bestVideo.widthnumbernullable

Always included.

posts.mediaAttachments.bestVideo.heightnumbernullable

Always included.

posts.mediaAttachments.bestVideo.bitratenumbernullable

Always included.

posts.mediaAttachments.bestVideo.hasAudiobooleannullable

Always included.

posts.mediaAttachments.bestVideo.sourceenum

Always included.

one of: progressive, dash

posts.mediaAttachments.bestVideo.mimeTypestringnullable

Always included.

posts.mediaAttachments.audioUrlstringnullable

Always included.

Always included.

up to 100 items

posts.mediaAttachments.variants.urlstring

Always included.

posts.mediaAttachments.variants.widthnumbernullable

Always included.

posts.mediaAttachments.variants.heightnumbernullable

Always included.

posts.mediaAttachments.variants.bitratenumbernullable

Always included.

posts.mediaAttachments.variants.hasAudiobooleannullable

Always included.

posts.mediaAttachments.variants.sourceenum

Always included.

one of: progressive, dash

posts.mediaAttachments.variants.mimeTypestringnullable

Always included.

cursorstringnullable

Opaque continuation from this service. Preserve it exactly; cursors are source- and route-specific.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
10
HTTPfailure.codeMeaning
200partialUsable data with explicit missing/failed auxiliary coverage.
400invalid_requestMalformed, duplicate, conflicting or unsupported parameters.
401unauthorizedMissing or invalid service API key.
403restricted_pageThe resource is private or restricted.
404not_foundUnknown route or missing resource.
429upstream_rate_limitedFacebook throttled retrieval.
502upstream_challenged upstream_error unsupported_pageSource challenge, failure or unsupported/mismatched structure.
502response_too_large payload_too_complex request_limit unsafe_redirectBounded retrieval or fixed-origin policy failed.
503busyAll Facebook worker slots are occupied.
504timeoutRequest deadline expired.