Meta Content Library has a web-based user interface in which to explore data, test out search parameters, and assess whether the resulting data is appropriate for your planned research. No knowledge of query or programming languages is needed.
Meta Content Library API is a complementary API product that allows researchers to programmatically pull data from the same public content library.
Content Library is a web-based tool that allows researchers to explore and understand data across Facebook and Instagram by offering a comprehensive, visual, and searchable collection of publicly accessible content.
For support at any time, refer to Get help in our Meta Content Library and API documentation.
For information about ongoing issues, visit the Data Transparency Status page.
When you enter a query, you can select which platform you’d like to search (Facebook, Instagram or Threads). For Facebook and Instagram, you can then select to search either the view-only public dataset or the downloadable public data subset.
Data includes the following publicly accessible content:
Posts on public Pages, public groups, public events
Posts on public profiles with a verified badge or 1,000 or more followers
Information about public Pages, public groups, public events and public profiles that meet the above criteria
Data includes the following publicly accessible content:
Posts from public Pages with 15,000 or more likes or 15,000 or more followers
Posts from public profiles with a verified badge or 25,000 or more followers
Information about public Pages and public profiles that meet the above criteria
Public Pages include both classic Pages and the new Pages experience.
To be included in the downloadable public dataset, profiles must not be locked and must be set to public with a verified badge or 25,000 or more followers. A verified badge in this context refers to accounts confirmed as authentic and not those with a paid Meta Verified subscription. Learn more about verified Pages and profiles.
Downloadable public data consists of posts from eligible profiles and Pages to all surfaces, including groups, events and Pages.
Note: Downloads are only available if the Inter-university Consortium for Political and Social Research (ICPSR) has approved your Meta Content Library application and you have consented to the Product Terms for Meta Research Tools.
Data includes the following publicly accessible content:
Posts from public business accounts and public creator accounts
Posts from personal accounts set to public with a verified badge or 1,000 or more followers
Information about public Instagram accounts that meet the above criteria
Data includes the following publicly accessible content:
Posts from public business and public creator accounts with a verified badge or 25,000 or more followers
Posts from personal accounts set to public with a verified badge or 25,000 or more followers
Information about public Instagram accounts that meet the criteria above
Public Instagram accounts include professional accounts for businesses and creators. They also include personal accounts that meet the qualification criteria outlined above.
A verified badge in this context refers to accounts confirmed as authentic and not those with a paid Meta Verified subscription. Learn more about verified badges.
Note: Downloads are only available if the Inter-university Consortium for Political and Social Research (ICPSR) has approved your Meta Content Library application and you have consented to the Product Terms for Meta Research Tools.
Data includes the following publicly accessible content:
Posts shared by public profiles with 1,000 or more followers
Information about public profiles
Note: Threads content is a newly added data type in Meta Content Library. Data quality may have significant variation as the dataset on MCL is still in active development. Threads content is not available for download while this dataset is in development.
Public data from public Facebook Pages, groups, events and profiles, and from public Instagram accounts and Threads profiles from most countries/territories. Public data/content will be excluded from these countries:
This means that:
At least one admin of a public Facebook Page, group, event or profile must have a stated location that is in a non-excluded country or region for information about that Page, group, event or profile to be accessible. The owner of a public Instagram account or Threads profile must have a primary country or region that is in a non-excluded country or region for information about that account or profile to be accessible.
Of the Facebook Pages, groups, events, profiles, Instagram accounts and Threads profiles that qualify based on #1, only posts made by users in non-excluded countries/territories are in scope.
Search results in all languages are included unless the search is filtered based on language.
Post reactions: Number of reactions on the post.
Post comments: Number of comments on the post. Comments on the post can be accessed by clicking the View comments link. This includes comments from all producers who responded to the post.
Post shares: Number of shares of the post.
Post views: Number of times the post was on screen, not including times it appeared on the post owner’s screen. For video posts, views are counted whether the video was played or not. Only posts with more than 100 views display the view count. A post displays no view count value if there were fewer than 100 views as of the last refresh. View counts for posts created within the last 180 days are refreshed approximately every 24 hours, provided the post has accumulated more than 10 views within that 24 hour period. If not, view counts are refreshed every 5-7 days. View counts for posts created more than 180 days ago are refreshed every 5-7 days. View counts are not available for posts created before January 1, 2017.
Post owner: Original creator of the post.
Post activity type: Type of activity represented in the post. Activity types include streaming or playing (of a gaming video).
Post activity name: Name of the activity represented in the post. For example, if the activity type is streaming (of a gaming video), this would be the name of the game being played.
Post surface country (for posts from Pages and profiles only): Primary country or region of the Page admin(s) of the post, or primary country or region of the profile owner of the post.
Post date: Date posted to Facebook.
Post media (text): Full text shared in the post.
Post media (image): Images shared in the post.
Post media (video and reels): Videos and reels shared in the post.
Post media (link): Complete URL of the link shared in the post.
Post likes: Number of like reactions on the post.
Post comments: Number of comments on the post. Comments on the post can be accessed by clicking the View comments link. This includes comments from all producers who responded to the post.
Post views: Number of times the post was on screen, not including times it appeared on the post owner’s screen. For video posts, views are counted whether the video was played or not. Only posts with more than 100 views display the view count. A post displays no view count value if there were fewer than 100 views as of the last refresh. View counts for posts created within the last 180 days are refreshed approximately every 24 hours, provided the post has accumulated more than 10 views within that 24 hour period. If not, view counts are refreshed every 3-5 days. View counts for posts created more than 180 days ago are refreshed every 3-5 days. View counts are not available for posts made before October 1, 2022. Note that this metric differs from the Views metric displayed on Instagram, which measures the number of times a reel started to play and the number of times a non-reel displayed on a person’s screen.
Post owner: Original producer of the post.
Post date: Date posted to Instagram.
Post media (image): Images shared in the post.
Post media (videos and reels): Videos and reels shared in the post.
Post media (album): Posts containing two or more images or videos.
Post likes: Number of like reactions on the post.
Post replies: Replies on the post, including replies to previous replies. Replies on the post can be accessed by clicking the View replies link. This includes replies from all producers who responded to the post.
Reposts: Number of times the content was reposted.
Post views: Number of times the post was on screen, not including times it appeared on the post owner’s screen. For original posts, view counts include views of the post itself but do not include views of reposts or quotes of the post. For quotes, view counts include views of the quote but do not include views of the original post or reposts. For replies, view counts include views of the reply but do not include views of the original post, quotes or reposts. For video posts, views are counted whether the video was played or not. Only posts with more than 100 views display the view count. A post displays no view count value if there were fewer than 100 views as of the last refresh. View counts for posts created within the last 180 days are refreshed every 24 hours, provided the post has accumulated more than 10 views within a 24 hour period after September 17, 2024. View counts for posts created more than 180 days ago are refreshed every 2 days. View counts are not available for posts created before March 17, 2024.
Post owner: Original producer of the post.
Post date: Date posted to Threads.
Post media (text-only): Posts that only contain text and no other types of media.
Post media (photos): Images shared in the post.
Post media (videos): Videos shared in the post.
Post media (albums): Posts containing two or more images or videos.
Post media (links): Posts containing one or more links.
Searching by URL, keyword or exact phrase is supported. Search is case insensitive. Additional information regarding searches is available in Advanced search.
Supported keyword search method | Example |
---|---|
Boolean search using &, |, - | taco & pizza, taco | pizza, taco -pizza |
All of these words | taco pizza bread (space interpreted as &) |
Any of these words | taco | pizza | bread |
Exclude these words | pizza-anchovies, pizza -anchovies |
Group multiple keywords | (taco | pizza) & (love) |
Hashtag | #pizzasauce |
URL shared in content | https://www.youtube.com/ |
Phrase (5 words and under) | “i love pizza” |
Phrase and boolean combined search | “i love tacos” & “i love pizza” “i love tacos” | “i love pizza” |
Unsupported keyword search method | Example |
---|---|
Boolean search by using AND, OR, NOT | taco AND pizza, taco OR pizza, taco NOT pizza |
Tags only | @pizzasauce |
URL of post | https://www.facebook.com/Meta/videos/101/ |
None of these words | -pizza - anchovies |
Note: You can clear all filters by clicking the Reset filters (arrows in a circle) button in the top menu bar (hover over the button to view the label).
Filter | Options available |
---|---|
Date range Results include those posted within the specified time frame. | Select a date range or view content from all time. |
Post surface Results include those posted from the specified endpoints. | Select one or more:
Note: To be included, profiles must not be locked and must be set to public with a verified badge or 25,000 or more followers (for downloadable public data) or 1,000 or more followers (for view-only data). A verified badge in this context refers to accounts confirmed as authentic and not those with a paid Meta Verified subscription. The usernames of post owners will only be displayed if their profiles meet the above criteria. |
Post surface country Results include Pages with at least one admin in the specified location. Only available when you select Pages in the Post surface filter. | Over 250 locations are available listed in alphabetical order. Select one or more. An option to "select all" is also provided. |
Producer Results include those originating from producers that match the specified search term. | Search for and select the public Pages, groups, events or profiles that posted the content. You can also select producer lists you previously created. Searches for producers will return all posts made to the Page, group, event or profile but not posts made by the producer to other Pages, groups, events or profiles. For profiles, only posts made by a user to their own profile are available. |
Language Results include those in the selected languages. | Over 180 languages are available, listed in alphabetical order. Select one or more. An option to “select all” is also provided. |
Content type Results include the selected content types. | Select one or more:
|
Views The number of times the post was on screen, not including times it appeared on the post owner’s screen. For video posts, views are counted whether the video was played or not. | A slide bar is provided to specify a range of views from 0 to the maximum of more than 100 million. |
Branded content Content for which the creator has been compensated, either monetarily or with something else of value, by a business partner. Ads are not included as part of branded content. | Select one:
|
Filter | Options available |
---|---|
Date range Results include those posted within the specified time frame. | Select a date range or view content from all time. |
Account type Results include those posted from the specified endpoints. | Select one or more:
Note: The Personal filter includes Instagram profiles set up as personal accounts, not professional accounts. To be included an account must be set to public, not private, meaning anyone on Instagram can see posts and videos on the account’s profile. In addition, the account must have either a verified badge or 25,000 or more followers (for downloadable public data) or 1,000 or more followers (for view-only data). A verified badge in this context refers to accounts confirmed as authentic and not those with a paid Meta Verified subscription. |
Producer Results include those originating from producers that match the specified search term. | Search for and select the public accounts that posted the content. You can also select producer lists you previously created. |
Language Results include those in the selected languages. | Over 180 languages are available, listed in alphabetical order. Select one or more. An option to “select all” is also provided. |
Content type Results include the selected content types. | Select one or more:
|
Views The number of times the post was on screen, not including times it appeared on the post owner’s screen. For video posts, views are counted whether the video was played or not. | A slide bar is provided to specify a range of views from 0 to the maximum of more than 100 million. |
Branded content Content for which the content creator has been compensated, either monetarily or with something else of value, by a brand partner. Ads are not included as part of branded content. | Select one:
|
Filter | Options available |
---|---|
Date range Results include those posted within the specified time frame. | Select a date range or view content from all time. |
Language Results include those in the selected languages. | Over 180 languages are available, listed in alphabetical order. Select one or more. An option to “select all” is also provided. |
Producer Results include those originating from producers that match the specified search term. | Search for and select the public accounts that posted the content. You can also select producer lists you previously created. |
Post type Results include the selected types of post. | Select one or more:
Posts by public profiles with more than 1,000 followers are included in the searchable data. Reposts are not a supported post type. |
Content type Results include the selected content types. | Select one or more:
|
Views The number of times the post was on screen, not including times it appeared on the post owner’s screen. For video posts, views are counted whether the video was played or not. | A slide bar is provided to specify a range of views from 0 to the maximum of more than 10 million. If the views filter is applied, posts without a view count available are not displayed. |
Branded content Content for which the producer has been compensated, either monetarily or with something else of value, by a brand partner. Ads are not included as part of branded content. | Select one:
|
You can search for text in images posted on Facebook or Instagram within approximately the last 90 days. To enable image search, toggle on the Find text in images switch near the search bar. When this option is selected, results display with text matches in the images or in the post text. A label will appear to indicate if an image contains text matching the search terms.
If the Find text in images option is disabled, ensure photos or albums are selected in the Content type filter. For Instagram, text in image search is also available for photos shared as story highlights.
Phrase matches aren’t available for text in image search.
There may be reduced data quality for text matching on images.
Search results can be shown in card view or in table view. You can switch between these view options using the dropdown displayed at the top right above the posts.
Card view displays the posts in a similar format to how they appear on Facebook or Instagram. Table view displays highlights about each post in a format that allows for easier browsing of a large number of posts on the same page. You can click the See more link following the post text preview to display more of the post’s content.
You have the following sorting options for search results:
Save your specified search parameters for future use by clicking the Save search button on the top menu bar (hover over the button to view the label).
Then enter a name for your search and click Save.
Saved searches are available on your Home page (left menu bar). Click the corresponding View button to select a saved search. You have the option to display your saved searches with the most recent or the least recent at the top of the list.
Click the Share search button on the top menu bar to copy your search to share with others (hover over the button to view the label).
Create custom producer lists (available only to you) for quick reuse in your searches. Start by clicking Producer lists in the left menu bar, then Create list. Select if you would like to create a new list or import from a CSV file. Give the list a name and specify Facebook or Instagram.
If you’ve selected to upload a list of producers, choose the CSV file to upload. The file should only contain producer URLs and be in the correct format. You can add a maximum of 1,000 producers to a list. After the file format is validated, you can click Create list. If matches for any producers are not found, you’ll see a list of the producers that have not been added. Click Done. You will then see the list of the producers that have been added to the list.
Click +Add producers to search for and select the producers for your list. For Facebook, specify Pages, groups, events or profiles. For Instagram, all available producers are public accounts. You can select from view-only and downloadable producers when creating your lists. View-only producers will be excluded if you search downloadable public data. Once you have selected the producers for the list, click Done.
All custom producer lists are available on your Producer lists page in the left menu bar.
When viewing a producer list, click the Share button at the top of the page.
Copy link will enable you to share the producer list with others who are logged in to Meta Content Library and have the same account type as you.
Create API list ID generates an ID which can be used in the API to view the producer list in the API. Note: This feature is only available from version 4.0 onwards, and only in Researcher Platform.
See Share producer lists for complete instructions.
You can import producer lists shared with you for quick reuse in your searches. Start by copying the shared link into your browser’s address bar. You will see a modal with the list name and included producers. Click Add to my lists to include on your Producer lists page.
If you select the downloadable public data subset for Facebook or Instagram when you search, you’ll see a Download CSV button above your search results. Threads content is not available for download as this dataset is in active development.
Note: Downloads are only available if the Inter-university Consortium for Political and Social Research (ICPSR) has approved your Meta Content Library application and you have consented to the Product Terms for Meta Research Tools.
Be sure to note the estimated number of your search results (above the results on the search page) before you begin to download a CSV file. Search results greater than 100,000 are not able to be downloaded. If your search has returned more than 100,000 results, you’ll need to refine your query to reduce the number of results. You can continue to modify the search filters until the search results are under the maximum allowed for download.
After you have refined your search, you’ll be able to click the Download CSV button. Then a modal will display the search criteria used in your query. Note that results will be sorted newest to oldest in the downloaded CSV file, regardless of which sorting option you have applied when viewing the content. You’ll be prompted to enter a file name, and then you’ll be able to click to start the download.
Once your file is ready for download, go to Downloads in the left menu bar. All of the files you have requested to download are listed on this page, and you’ll be able to see which are ready for download and which are being prepared.
Select a file to download to your local machine. You can download up to 10 CSV files per day, with up to 100,000 search results per CSV file.
Note: This feature is only available if you are using Content Library API in Researcher Platform.
Capture your current search in the form of Python or R code. Paste the code into Meta Content Library API to retrieve search results you can analyze in greater depth.
Step 1 Set your search criteria.
Step 2 Click the Get API code button in the top menu bar (hover over the button to view the label).
Step 3 The search criteria and corresponding API code are displayed, along with instructions (such as VPN access needed). In the codeblock, click the tab corresponding to your language preference (R or Python):
Note
The language (R or Python) must correspond to the language of the Jupyter notebook into which you paste the code.
Be sure to note the size of your search results (above the results on the search page) before you use the same search in Content Library API. Search results greater than 100,000 will return an error in the API. See Get API Code for complete instructions.
The Trends in posts created graph shows how often content matching your search keywords was posted on Facebook, Instagram or Threads within your chosen date range. It's important to note that the graph values are not the actual number of posts but are normalized to a scale of 0-100. This normalization process involves dividing each data point by the highest point in the graph, then multiplying by 100 and rounding to the nearest whole number. A value of 50 indicates that the post frequency is half of the highest recorded, while a value of 0 suggests insufficient data for the query.
These graphs are estimations, meant to assist researchers in spotting patterns and trends in post volume. Normalization ensures consistency and comparability across various queries and experiments, allowing researchers to concentrate on relative differences and easily spot periods with the highest or lowest post volumes.
When you hover over the graph, a number appears showing the change compared to the previous day, week, or month, based on your chosen date range. The data points are daily for ranges under 270 days, weekly for ranges between 270 days and 5 years, and monthly for ranges over 5 years. This change metric is calculated by taking the difference between the current and previous values, dividing by the previous value, and then multiplying by 100. It displays as N/A if the previous value is 0 or unavailable.
You can create custom dashboards to display post feeds and trend charts based on selected keywords or producers. Learn more about dashboards
The search index only searches raw text of content from public Pages, groups, and events. It does not search metadata of photos, full URL matches, or comments. Occasionally results will match terms that are semantically related to a query term, or contain the query term as a substring. Tags in a post cannot be searched.
Search is case insensitive and only complete matches are returned (not partial matches).
The tool retrieves only the top 1,000 search results, so the search results are not necessarily representative of all Facebook, Instagram or Threads posts on the search term in the specific timeframe of the query.
The top 1,000 search results can differ slightly day to day, not only due to newly created content but also because post owners might have deleted the content or modified the privacy settings.
Newly created Facebook profiles, Instagram accounts or Threads profiles, and content posted by these newly created profiles and accounts may not be included in Meta Content Library for up to 4 days.
Grouping multiple keywords in querying the data is not supported for languages that are read right-to-left.
Each researcher is limited to a maximum of 60 searches per minute.
Each researcher is limited to 500,000 total search results for Content Library and API combined per 7-day rolling window.
Results in downloaded CSV files from Content Library will be counted towards your 500,000 total search results limit.
Data governance and sources described in Search quality may change from time to time and the metrics presented may not be representative of current operations at Meta. Due to issues such as erroneously logging the data sources from which the metrics are created, the metrics may suffer from fluctuating data quality and incompleteness, which may lead to fluctuating accuracy. In the Search quality document, we disclose known fluctuations where possible. Individuals using Facebook and Instagram data are responsible for conducting standard and thorough data cleaning processes, and are responsible for ensuring that their analyses are accurate. It is expected there may be issues with the data when conducting their analysis. We encourage individuals to share any findings with us. This may include, but is not necessarily limited to, data quality, validity, or fidelity issues. Given the historical nature of the data and lapsed retention periods, we may not be able to fix the issues identified, but in such cases we will work to disclose them. Please reach out to us through Direct Support.
Meta works diligently and utilizes a variety of quality assurance measures to improve the accuracy, quality, and reliability of the data it shares for research purposes. However, given the volume of data released and the imperfection of any quality assurance process, inaccuracies persist. Meta makes no representation or warranty, express or implied, including without limitation, any warranties of fitness for a particular purpose or warranties as to the quality, accuracy or completeness of data or information. By accessing this data, individuals acknowledge that the data may contain nonconformities, defects, or errors. Meta does not warrant that the data will meet all needs or expectations, that the use of the data will be uninterrupted, or that nonconformities, defects, or errors can or will be corrected.