Facebook Hashtag Scraper
Pricing
$2.65 / 1,000 hashtag posts
Facebook Hashtag Scraper
Collect available public Facebook posts that match one or more hashtags. Filter by post format and time range, then review post text, author details, engagement, media, and source links when Facebook exposes them.
Pricing
$2.65 / 1,000 hashtag posts
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
#️⃣ Search Facebook posts by hashtag
Social media researchers, marketers, and developers can search one or more public Facebook hashtags and collect available matching posts in structured dataset rows. Review post text, public author details, engagement counts, media details, publication time, and source links when Facebook exposes them. Shared format and time filters help focus one run on the posts you need.
- Find available public Facebook posts for one or more hashtags with Facebook Hashtag Extractor.
- Review structured post text, authors, and source links with Facebook Hashtag Data.
- Keep only selected reels, videos, or photos with Facebook Hashtag Posts.
- Focus a search on any time, the last month, or the last year with Facebook Hashtag Search.
- Review author, engagement, media, and publication details with Facebook Hashtag Scraper.
📊 Facebook hashtag post data
What you get
Each saved row is one available public Facebook post that matched the submitted hashtag settings. It includes the post ID and URL, the available post format, text, author details, engagement counts, attached media, and publication time. Some optional values are not present when Facebook does not expose them.
- Post identity:
postId,postUrl, andpostFormatidentify the source post and its available format. - Post content:
postTextholds the title, caption, text, or description when available. - Author details:
authorholds public author names, IDs, profile links, and avatar links when available. - Engagement:
engagementholds reported reaction, comment, share, and view values, plus the reported total. - Media details:
medialists available attached media types, IDs, links, and thumbnails. - Publication time:
publishedAtholds the source publication time when available.
▶️ Run a Facebook hashtag search
How it works
- Add one or more hashtag values.
- Choose post formats or leave the format list empty to include all available formats.
- Choose any time, the last month, or the last year.
- Set an optional maximum number of posts and start the run.
- Open the default dataset from the run output.
The same format and time settings apply to every hashtag in the run. The Actor saves the first eligible occurrence of a source post. If the same post appears again through another submitted hashtag, the later match is ignored. The saved row describes only that first match and does not combine later matches.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
hashtags | array of strings | Required. Add one or more hashtags to search. The same filters apply to every value. |
postFormats | array of strings | Choose reels, videos, or photos. Leave the list empty to include all available formats. |
timeRange | string | Choose any, lastMonth, or lastYear. The filter uses each post's available publication time. |
maxItems | integer | Optional run limit with a minimum of 1. Leave it empty to return all available posts until the source is exhausted. Otherwise, stop after this many posts. The schema has no upper bound. |
Default input example
This example is copied from the public input of a successful current-beta run that used the hosted default input:
{"hashtags": ["travel"],"postFormats": ["reels","videos","photos"],"timeRange": "any","maxItems": 100}
🧾 Output
Run output link
| Field | Type | What it does |
|---|---|---|
datasetItems | string | Opens the default dataset overview with the saved public Facebook post rows. |
Dataset row
All saved rows use one shape. Optional fields are omitted when Facebook does not expose them.
| Field | Type | What it does |
|---|---|---|
postId | string | Gives the source ID of the Facebook post. |
postUrl | string (URL) | Gives a direct link to the Facebook post. |
postFormat | string | Gives the available format, such as reel, video, or photo. |
postText | string | Gives the title, caption, text, or description when available. |
author | object | Holds public author details when available. |
author.id | string | Gives the public author's source ID when available. |
author.name | string | Gives the public author's name when available. |
author.url | string (URL) | Gives a direct link to the public author profile when available. |
author.avatarUrl | string (URL) | Gives a link to the author's public avatar image when available. |
engagement | object | Holds engagement values reported for the post when available. |
engagement.reactions | object | Holds counts for the reaction types reported by the source. |
engagement.reactions.like | integer | Gives the number of Like reactions when reported. |
engagement.reactions.love | integer | Gives the number of Love reactions when reported. |
engagement.reactions.haha | integer | Gives the number of Haha reactions when reported. |
engagement.reactions.wow | integer | Gives the number of Wow reactions when reported. |
engagement.reactions.sad | integer | Gives the number of Sad reactions when reported. |
engagement.reactions.angry | integer | Gives the number of Angry reactions when reported. |
engagement.comments | integer | Gives the number of comments reported for the post. |
engagement.shares | integer | Gives the number of shares reported for the post. |
engagement.totalEngagement | integer | Gives the aggregate engagement value reported by the source. |
media | array of objects | Lists attached media details when available. |
media[].type | string | Gives the type of an attached media item, such as photo, video, or reel. |
media[].id | string | Gives the source ID of an attached media item when available. |
media[].url | string (URL) | Gives a direct source link to an attached media item when available. |
media[].thumbnailUrl | string (URL) | Gives a link to a thumbnail for an attached media item when available. |
publishedAt | string (date-time) | Gives the date and time when the source post was published, when available. |
Example Facebook post
This complete row is genuine output from the latest successful current-beta run. It is shown without invented or redacted source data.
{"postId": "1526323986202837","postUrl": "https://www.facebook.com/CNNArabic/posts/pfbid02Ckyxw6GQVof8G1ckuNTmBsmS6JyxQod5nTDmzUEWReKwkwdwJCeGn7oADb1pu6B4l","postFormat": "photo","postText": "البيت الأبيض يستبعد شبكة CNN من مهمتها المقررة ليوم الاثنين، والتي كانت تتضمن تمثيل المجموعة التلفزيونية المشتركة (pool) نيابة عن كامل هيئة الصحافة المعتمدة https://cnn.it/4ApHYfS","author": {"id": "100064757498431","name": "CNNArabic","url": "https://www.facebook.com/CNNArabic","avatarUrl": "https://scontent-arn2-1.xx.fbcdn.net/v/t39.30808-1/342200996_189496030550854_7062570227724457374_n.jpg?stp=cp0_dst-jpg_tt6&cstp=mx2048x2048&ctp=s50x50&_nc_cat=1&ccb=1-7&_nc_sid=2d3e12&_nc_ohc=cUtgm7iDeq8Q7kNvwFFntyl&_nc_oc=AdrUrfni-pFpdv1ltmdjFCK16zO5Hj2T7PRphnGrR7JQmvtZEmKfaAsSXMkTF-iEk-E&_nc_zt=24&_nc_ht=scontent-arn2-1.xx&_nc_gid=wcMbzAjiLNwsao0-LA_BTw&_nc_ss=70289&oh=00_AQIR4b55SiqmtBKLdmhpLw4qIacbDSPJoKsP9MnkjK1oGA&oe=6AB67236"},"engagement": {"comments": 1,"shares": 2,"reactions": {"like": 17,"haha": 6,"wow": 1},"totalEngagement": 27},"media": [{"type": "photo","id": "1526323962869506","url": "https://scontent-arn2-1.xx.fbcdn.net/v/t39.99422-6/796527992_1584024433502671_839914819866181719_n.png?stp=dst-jpg_tt6&cstp=mx1080x1350&ctp=s640x640&_nc_cat=100&ccb=1-7&_nc_sid=127cfc&_nc_ohc=URELPtjkRGIQ7kNvwEFzmBx&_nc_oc=AdrNlwY_2dX44np32DeoQuxO4iAqAkwMd4FxiDMjG9-Uivr6R8QSK9eGAE9IqTEbExc&_nc_zt=14&_nc_ht=scontent-arn2-1.xx&_nc_gid=wcMbzAjiLNwsao0-LA_BTw&_nc_ss=70289&oh=00_AQKThG9bSr-8xm-IGELh93nWVUMIZlAe5HDOK3XdiO6PSQ&oe=6AB67D64","thumbnailUrl": "https://scontent-arn2-1.xx.fbcdn.net/v/t39.99422-6/796527992_1584024433502671_839914819866181719_n.png?stp=dst-jpg_tt6&cstp=mx1080x1350&ctp=s640x640&_nc_cat=100&ccb=1-7&_nc_sid=127cfc&_nc_ohc=URELPtjkRGIQ7kNvwEFzmBx&_nc_oc=AdrNlwY_2dX44np32DeoQuxO4iAqAkwMd4FxiDMjG9-Uivr6R8QSK9eGAE9IqTEbExc&_nc_zt=14&_nc_ht=scontent-arn2-1.xx&_nc_gid=wcMbzAjiLNwsao0-LA_BTw&_nc_ss=70289&oh=00_AQKThG9bSr-8xm-IGELh93nWVUMIZlAe5HDOK3XdiO6PSQ&oe=6AB67D64"}],"publishedAt": "2026-09-21T04:34:31.000Z"}
💳 Pricing
How charges work
This Actor uses pay-per-event pricing. The primary event is facebook-hashtag-post, priced at $0.00265 per event. Each event covers one post matching the requested Facebook hashtag filters.
🔌 Integrations
Use the Apify Console or API to start runs and read the default dataset. The run output links to the saved public post rows.
❓ FAQ
What happens when the same post matches more than one hashtag?
The Actor saves the first eligible occurrence and ignores later matches for the same source post. The saved row describes only that first match and does not combine later hashtags or submitted values.
Can I search more than one hashtag in one run?
Yes. Add several hashtags to the list. All of them use the same post format, time range, and maximum-post setting.
What does an empty post format list do?
An empty postFormats list includes all available post formats. Add reels, videos, or photos when you want to narrow the saved rows.
What happens when I leave Maximum posts empty?
The Actor returns all available posts until the source is exhausted. The schema has no upper bound for maxItems, so a run can return fewer posts when the source has fewer eligible results.
Why is a field missing from a row?
Facebook does not expose the same fields for every public post. Optional author, engagement, media, text, and publication values are included only when they are available.
Can it collect private or deleted Facebook posts?
No. The Actor is for available public hashtag results. Private, restricted, deleted, and otherwise unavailable content is outside its scope.
Does it include comments or lists of people who reacted?
No. It includes engagement counts and available reaction counts. It does not collect comments, replies, commenter lists, liker lists, or sharer lists.
Does it download Facebook photos or videos?
No. It returns available media metadata, links, and thumbnails. It does not download or mirror source photo and video files.
Will it always return every Facebook post for a hashtag?
No. The Actor returns available matching posts and does not promise an exhaustive list of every post Facebook could associate with a hashtag.
📝 Changelog
v0.0 (21-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Facebook User Posts Scraper: collect public posts from Facebook profiles, Pages, and known post URLs.
- Instagram Hashtag Username Scraper: find public Instagram posts and usernames for hashtag research.
- TikTok Hashtag Search Scraper: find public TikTok hashtag metrics from keywords, hashtags, or tag URLs.
- Facebook Hashtag Search Scraper: collect Facebook hashtag posts with post and author details.
- Facebook Hashtag Scraper: run another Facebook hashtag post search for trend and content research.
Made with ❤️ by Maxime Dupré