# embeddings_queue

created_at: 2024-11-07 15:52:10
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 352b480ee0ff34f7efd83899870cddde43ef561becd2d85890f1456da4615a83
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_8.2_Klinger_DataAccess-DSA.pdf", "source_id": "f20c17ac6141dcb6cc7f75498fb4f8249214870a9e28d6b1a385748b86867051", "page_number": 8, "split_id": 10, "split_idx_start": 17554, "chroma:document": "in https://algorithmwatch.org/en/wp -content/uploads/20 23/05/Open_letter_DSA.pdf\f 8 17. Platform data quality reports : Platforms should publish regular reports that include aspects of the data quality provided (e.g., validation by external bodies, own data cleansing initiatives , completeness of data, etc.). 18. Insight into the platform data pool for research purposes, including non -Euro-\npean : Art. 40 para. 4 DSA is intended to provide access to the entire platform data pool, as systemic risks can only be identified if there is clari ty about the totality of all data available to the platforms. Viewing and pre -structuring of existing platform data should be done centrally by the DSCs. Non -European platform data must be accessi-\nble, e.g., in the context of manipulated social media data a nd disinformation. The market location principle ( lex loci solutionis ) must be applied here .9 19. Oversight : An authority must be appointed that can independently check the quality of the data preparation (possibly an Intermediary Advisory Mechanism, which would have to be provided with extra resources for this purpose, cf. Klinger & Ohme). Highly qualified data scientists are needed to assess the data provided by the platforms in terms of quality and potential uses, who can provide a profes sional assessment, including on the open question of what the data queries of approved researchers may even contain in terms of societal risks. In the event of poor data quality, a short -term and transparent (complaint) procedure should be available for re adjustment; in case of doubt, fine procedures should also be able to follow. 20. Serious penalty mechanisms are good, but incentive structures are better : Delib-\nerate delays in data access by a platform should result in penalty proceedings. How-\never, we recomme nd not only to work with serious sanction mechanisms, but also to create incentives "}


created_at: 2024-11-07 15:52:10
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: d996a5d38ed1810cd105bf5ee38a6bcb3ccc620416948d6c0e9e6af2ae73beb8
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_8.2_Klinger_DataAccess-DSA.pdf", "source_id": "f20c17ac6141dcb6cc7f75498fb4f8249214870a9e28d6b1a385748b86867051", "page_number": 9, "split_id": 11, "split_idx_start": 19209, "chroma:document": "penalty mechanisms are good, but incentive structures are better : Delib-\nerate delays in data access by a platform should result in penalty proceedings. How-\never, we recomme nd not only to work with serious sanction mechanisms, but also to create incentives for platforms in the medium term by providing sufficient resources for data access (e.g., special compliance). If the platforms refuse to grant access, re-\nsearch institution s should be able to proceed by means of an action for failure to act or a refusal counterclaim, so that mechanisms and corresponding resources should also be provided for this. __________________________________________________________________ _____ 9 Since the scope of the DSA applies according to the market location principle (regardless of the platform \u2019s place of establishment), non -European data from non -European platforms are also included, as long as these platforms offer services in the EU or to EU citizens.\f 9 Signatories (institutions) Weizenbaum Institut e for the Networked Society , Berlin European New School, Europa -Univers it\u00e4t Viadrina, Frankfurt (Oder) AlgorithmWatch Center for Advanced Internet Studies (CAIS) D64 \u2013 Zentrum f\u00fcr Digitalen Fortschritt Democracy Reporting International (DRI) GESIS Leibniz -Institut f\u00fcr Sozialwissenschaften e.V. Stiftung Neue Verantwortung (SNV) Signatories (individuals ) Ulrike Klinger \u2013 Professorin, European New School, Europa -Universit\u00e4t Viadrina , Frankfurt (Oder ) Jakob Ohme \u2013 Head of Research Group, Weizenbaum Institute , Berlin Alexander Wehde \u2013 Student Assistant, Forschungsstelle f\u00fcr Rechtsfragen neuer Technologien sowie Datenrecht (ForTech) e.V. Andrea Lorenz \u2013 Research Associate, Universit\u00e4t Hamburg Christoph Neuberger \u2013 Scientific Managing Director , Weizenbaum Institute , Berlin; Professor, Freie Universit\u00e4t Berlin Daniela Stockmann \u2013 Professor, Center for Digital Governance, Hertie School, Berlin\f 10 Erik Tuchtfeld \u2013 Research Associate , Max-Planck -Institut f\u00fcr ausl\u00e4ndisches \u00f6ffentliches Recht und V\u00f6lkerrecht, Heidelberg Jan-Hendrik Passoth \u2013 Professor, European New School, Europa -Viadrina Universit\u00e4t Frankfurt (Oder ) Johannes Breuer \u2013 Senior "}


created_at: 2024-11-07 15:52:10
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 321525c041578be2fe9bcf410e6ae400038e494376ea0f19b24e1d60a7fbb647
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_8.2_Klinger_DataAccess-DSA.pdf", "source_id": "f20c17ac6141dcb6cc7f75498fb4f8249214870a9e28d6b1a385748b86867051", "page_number": 10, "split_id": 12, "split_idx_start": 21074, "chroma:document": "Center for Digital Governance, Hertie School, Berlin\f 10 Erik Tuchtfeld \u2013 Research Associate , Max-Planck -Institut f\u00fcr ausl\u00e4ndisches \u00f6ffentliches Recht und V\u00f6lkerrecht, Heidelberg Jan-Hendrik Passoth \u2013 Professor, European New School, Europa -Viadrina Universit\u00e4t Frankfurt (Oder ) Johannes Breuer \u2013 Senior Researcher, GESIS Leibniz -Institut f\u00fcr Sozialwissenschaften & Center for Advanced Internet Studies (CAIS) Judith M\u00f6ller \u2013 Professor, Leibniz -Institut f\u00fcr Medienforschung | Hans -Bredow -\nInstitut, Universit\u00e4t Hamburg Julia Niemann -Lenz \u2013 Senior Research Associate, Universit\u00e4t Hamburg Katharina Kaesling \u2013 JProfessor, Technische Universit\u00e4t Dresden Katharina Kleinen -von K\u00f6nigsl\u00f6w \u2013 Professor, Universit\u00e4t Hamburg Katrin Weller \u2013 Senior Researcher, GESIS Leibniz -Institut f\u00fcr Sozialwissenscha ften Marie -Therese Sekwenz \u2013 PhD Candidate , TU Delft/ Technology Policy and Management/ AI Futures Lab Mario Haim \u2013 Professor, Ludwig -Maximilians -Universit\u00e4t, M\u00fcnchen Matthias C. Kettemann \u2013 Professor, Universit\u00e4t Innsbruck, Alexander von Humboldt -\nInstitut f\u00fcr Internet und Gesellschaft, Leibniz -Institut f\u00fcr Medienforschung | Hans -\nBredow -Institut Matthias Spielkamp \u2013 Co-founder and Executive Director, AlgorithmWatch Mia Berg \u2013 Research Associate, Ruhr -Universit\u00e4t Bochum Michael Meyer -Resende \u2013 Co-founder & Executive Director, Democracy Reporting International (CRI), Berlin Philipp Darius \u2013 Postdoctoral Researcher, Center for Digital Governance, Hertie School , Berlin Philipp Lorenz -Spreen \u2013 Research Scientist, Max Planck Institut e for Human Developmen t, Berlin Pia Sombetzki \u2013 Policy & Advocacy Manager, AlgorithmWatch\f 11 Richard Kuchta \u2013 Analyst and Researcher, Democracy Reporting International Simon Munzert \u2013 Professor, Data Science Lab, Hertie School, Berlin Sonja Schimmler \u2013 Head of Research Group, Weizenbaum Institute , Berlin Valerie Hase \u2013 Postdoctoral Researcher, Ludwig -Maximilians -Universit\u00e4t , M\u00fcnchen"}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 877c6e8003099630f112f4497c25da02c70e745e57fb5420ffe159f2b6ecdec8
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "APRIL 2024 Weizenbaum Institut e Enabling Research with Publicly Accessible Platform Data: Early DSA Compliance Is-\nsues and Suggestions for Improvement Position paper\f 1 Imprint Enabling Research with Publicly Accessible Platform Data: Early DSA Compliance Issues and Suggestions for Improvement , Weizenbaum Policy Paper 9, April 2024 AUTHORS: Julian Jaursch \\ Stiftung Neue Verantwortung \\ jjaursch@stiftung -nv.de Jakob Ohme \\ Weizenbaum Institute \\ jakob.ohme@weizenbaum -institut.de Ulrike Klinger \\ European University Viadrina \\ klinger@europa -uni.de PUBLISHER : Weizenbaum Institut e Hardenbergstra\u00dfe 32 \\ 10623 Berlin \\ Tel.: +49 30 700141 -001 info@weizenbaum -institut.de \\ www.weizenbaum -institut.de EDITORIAL TEAM: Moritz Buchner \\ Weizenbaum Institute Elja Kr\u00fctzfeld \\ Weizenbaum Institute DOI: 10.34669/WI.WPP/ 9 ISSN: 2940-8490 LICENSE: This paper is available open access and is licensed under Creative Commons Attribution 4.0 (CC BY 4.0): https://creativecommons.org/licenses/by/4.0/ The Weizenbaum -Institut e.V. adheres to the Code of Conduct of the EU Transparency Register, register ID 194885445254 -71. The Weizenbaum Institute is funded by the Federal Ministry of Education and Research of Germany (BMBF) .\f 2 About the Weizenbaum Institut e The Weizenbaum Institute analyzes, evaluates and shapes relevant aspects of the digitally networked society. With basic, interdisciplinary and problem -oriented research projects on the ethical, legal, economic, political and social dimensions of digital change and the exploration of concrete solutions, it provides politicians, business and civil society with evidence - and value -based options for action in order to shape digitalization in a sustain-\nable, self -determined and responsible manner. The Institute is supported by a research network from Berlin and Brandenburg, which includes Freie Universit\u00e4t Berlin, Hum-\nboldt -Universit\u00e4t zu Berlin, Technische Universit\u00e4t Berlin, Berlin University of the Arts, and the University of Potsdam, as well as the Fraunhofer Institute for O pen Communica-\ntion Systems (FOKUS) and the WZB Berlin Social Science Center. The Weizenbaum Institute is funded by "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 8364a8e8491815d9d5ca303fafcde3244e5d778acdd7694b1539122810510fa0
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 3, "split_id": 1, "split_idx_start": 1915, "chroma:document": "zu Berlin, Technische Universit\u00e4t Berlin, Berlin University of the Arts, and the University of Potsdam, as well as the Fraunhofer Institute for O pen Communica-\ntion Systems (FOKUS) and the WZB Berlin Social Science Center. The Weizenbaum Institute is funded by the German Federal Ministry of Education and Research (BMBF) and the State of Berlin. For more information, visit www.weizenbaum -institut.de . About the authors Julian Jaursch is project director, \u201cPolicy | Platform regulation\u201d at Stiftung Neue Verantwortung, Berlin. Contact: jjaursch@stiftung -nv.de Jakob Ohme is Research Group Lead of the \u201cDigital News Dynamics\u201d group at the Weizenbaum Institute for the Networked Society, Berlin. Contact: jakob.ohme@weizenbaum -institut.de Ulrike Klinger is Professor for Digital Democracy at the European New School of Digital Studies, European University Viadrina, Frankfurt (Oder). Contact: klinger@europa -uni.de\f 3 Enabling Research with Publicly Accessible Platform Data: Early DSA Compliance Issues and Suggestions for Improvement Position paper The EU\u2019s Digital Services Act (DSA) requires very large online platforms and search engines (VLOPs) to provide publicly accessible data to researchers meeting certain re-\nquirements (Article 40(12) ). While some platforms have taken laudable steps to imple-\nment such data access opportunities, serious concerns remain about full compliance with the DSA in this regard. This is reflected in the European Commission\u2019s effort to request information from 17 VLOPs on how they comply with Article 40(12). Currently, researchers from academia and civil society still face significant hurdles when trying to request publicly accessible data from VLOPs. To provide the Commission and Digital Services Coordinators with insights for their oversight work, this paper offers an analysis of early experiences with Article 40(12) data access requests and suggestions for improvement. It is based on conversations with researchers and on data collected through the DSA 40 Data Access Tracker . Compiled by Julian Jaursch (Stiftung Neue Verantwortung), Jakob Ohme "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: cbfe874ede69060fc1b07256656268b51d76e6ecaf42c429d50bc1dc9eeab02d
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 4, "split_id": 2, "split_idx_start": 3751, "chroma:document": "early experiences with Article 40(12) data access requests and suggestions for improvement. It is based on conversations with researchers and on data collected through the DSA 40 Data Access Tracker . Compiled by Julian Jaursch (Stiftung Neue Verantwortung), Jakob Ohme (Weizenbaum Institute) and Ulrike Klinger (Europa Universit\u00e4t Viadrina). 1. Application forms Status quo: Application forms are often hard to find and unclear. Currently, forms to apply for platform data access under Article 40(12) can be hard to find on platform websites and often come in a format hosted by third -party platforms (such as Google). For example, a link to X\u2019s DSA data access application is linked in a \u201csnippet\u201d banner at the very bottom of a single page on their website. However, the sub-\npages, including the subpage specifically for academic researchers, do not include the form or any information about the program. They also provide little informatio n on the desired length and detail of responses. These aspects impede researcher access and trust in the data processing of application data .\f 4 Suggestion: Application forms need to be easy to find, accessible, and secure. Given that application data contain information about research projects and institutions (such as technical -operational measures), more official access to application forms and hosting is necessary across all VLOPs. Platforms should offer a website informing re-\nsearchers about possibilities of data access and provide professional, standardized appli-\ncation forms and information on how platforms handle data from access requests. Re-\nsearchers should be g iven a timeline of when they can expect to have their reque sts dealt with. Additional support could come from academic and other organizations that provide a collection of access points. 2. Eligibility criteria Status quo: Eligibility criteria are interpreted too strictly. The DSA does not narrow the eligibility criteria for Article 40(12) applications "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 1212d6041df7e4b4ec8c282417ef297751ede1de9b1543e3a319e2830efc6579
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 5, "split_id": 3, "split_idx_start": 5453, "chroma:document": "with. Additional support could come from academic and other organizations that provide a collection of access points. 2. Eligibility criteria Status quo: Eligibility criteria are interpreted too strictly. The DSA does not narrow the eligibility criteria for Article 40(12) applications to only universities or other academic institutions. On the contrary, the wording on eligible re-\nsearchers is rather broad, with Article 40(12) particularly mentioning not -for-profit or-\nganizations. However, at some VLOPs, requesting data can be difficult or impossible for researchers who are not affiliated with \u201ctraditional\u201d academic institutions such as uni-\nversities. For instance, TikTok\u2019s Research API and the YouTube Researcher Program state that researchers must be affiliated with an eligible \u201cacademic institution\u201d. Even if this is not explicitly mentioned, requirements such as naming a \u201cprincipal investigator\u201d can be exclusionary since such structures are uncommon outside of universities. Applicants, particularly those from not -for-profit organizations and other non -academic institutions, also face hurdles in applying for these programs because they are struc-\ntured to grant access on an individual project basis rather than an organizational basis . Not -for-profit researchers frequently design more general social media monitoring operations as the starting point for in -depth investigations. Under the current project -\nbased design of many data access programs, researchers would need to reapply fo r access precisely at each point when uninterrupted data access becomes critical, even for research that is related or similar to the original purpose under which they applied for access. Suggestion: Applications should be open to eligible non -academic researchers. Various VLOPs do explicitly gear their application forms towards non -governmental organizations . This approach should be followed by all VLOPs, for example, by allow-\ning a self -identification of researchers\u2019 affiliations in the application form and by not dis-\nregarding applications from non -academic institutions and journalists. Researchers from outsi de "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 63f6d03d4a082d0adbaa21a511f5055c9bcc0afc2cdea2cf794b6affc855e6f1
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 5, "split_id": 4, "split_idx_start": 7305, "chroma:document": "-governmental organizations . This approach should be followed by all VLOPs, for example, by allow-\ning a self -identification of researchers\u2019 affiliations in the application form and by not dis-\nregarding applications from non -academic institutions and journalists. Researchers from outsi de the EU should be allowed to request data, if they study systemic risks in the EU.\f 5 To still ensure the possibility for some public cross -checking and to spot potentially abu-\nsive behavior, applicants and companies could voluntarily commit to creating a public transparency database with research conducted using Article 40(12). This could b e an expansion of what some VLOPs are already doing based on voluntary commitments un-\nder the EU\u2019s Code of Practice on Disinformation (see sample case 2 below). Furthermore, it would be helpful if VLOPs better allowed for organizational applica-\ntions instead of granting access on a project -by-project basis , as this would align more closely with the operational means by which not -for-profit research institutions leverage public data. It would also better allow monitoring of ongoing societal issues, potentially in real time, as recital 98 mentions, without ha ving to file multiple requests for the same research topic. 3. Types of research questions Status quo: Requirements for suitable research questions are interpreted too strictly. At times, applications have been rejected because the proposed research questions supposedly do not meet the requirements of the DSA, which call for research to be conducted on systemic risks (see sample case 1). This is often based on companies\u2019 strict interpretation of Article 40(12), which is not in line with its overall goal of enabling wide -\nranging and timely studies by a variety of researchers. Similarly, platforms often ask for proof of technical -operational measures to secure data that are outsized for the type of data requested under Article 40(12). This "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 05169601bd2f50e416cae57d47eea642eb901e2215e8fd747304ce25fc44f283
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 6, "split_id": 5, "split_idx_start": 9009, "chroma:document": "overall goal of enabling wide -\nranging and timely studies by a variety of researchers. Similarly, platforms often ask for proof of technical -operational measures to secure data that are outsized for the type of data requested under Article 40(12). This can be an unnecessary obstacle for researchers, especially for organizations that do not have the personnel and/or resources to use separate research infrastructure just for Article 40(12) studies. Sample case 1: Article 40(12) requests to X As a designated VLOP under the DSA, X has been required to comply with Article 40(12) since August 2023. Various researchers who have tried to gain access to publicly acces-\nsible data have reported rejections from X. The reason that was given often was that \u201cit does not appear that your proposed use of X data is solely for performing research that contri butes to the detection, identification, and understanding of systemic risks in the EU.\u201d While this wording is found in Article 40(12), it is an unnecessarily narrow inter-\npretation of the provision to restrict data access by claiming a request is not specif ic enough without further explanations.\f 6 Suggestion: VLOPs need to differentiate between requirements for Articles 40(4) and 40(12) DSA. Given the public nature of the requested data (for instance, publicly available videos or engagement metrics such as \u201clikes\u201d), the eligibility criteria for Article 40(12) should not be mistaken with access criteria under Article 40(4) in connection with Article 40(8). It is important to clarify this difference to platforms. For instance, Article 40(12) does not foresee t he same vetting process that is required by Article 40(4) and 40(8) - which is to be conducted by regulators and not companies, nonetheless. In neither case, VLOPs are tasked with checking the feasibility of research questions. The point of Article 40(12) is precisely not "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 619410a8867cfc5bc7143baf6364ffba9965e33af632279156e96782f1a8b841
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 7, "split_id": 6, "split_idx_start": 10665, "chroma:document": "is required by Article 40(4) and 40(8) - which is to be conducted by regulators and not companies, nonetheless. In neither case, VLOPs are tasked with checking the feasibility of research questions. The point of Article 40(12) is precisely not to have an elaborate vetting process because the data in question is already public. In this line, a restrictive understanding of the connection to systemic risks is not pro-\nportional , considering that Article 40(12) is also meant to enable monitoring of topics in real time, if technically possible. More generally, it is arguably prohibitive to demand that requests for public platform data can be solely used for only one highly specific research purpose. Similarly, while researchers certainly need to adhere to data protection law when handling Article 40(12) data, the privacy risks associate d with research using such data are much lower than for non -public data (which \u201cvetted researchers\u201d will be able to re-\nquest under Article 40(4) and 40(8)). 4. Resp onses to requests Status quo: Responses take too long and explanations about rejections are too vague. Researchers often have to wait too long to hear back from platforms about their requests. For example, preliminary data from the DSA 40 Data Access Tracker show that for X, the average response time to data access requests is 1.5 months . Given the small num-\nber of requirements checked in this application and the public nature of the data, this timeframe is severely delaying data access requests. Moreover, rejections are often not well explained (see also point 2 above). For instance, access requests to X have gotten rejected with statements such as \u201capplication is incom-\nplete or lacks sufficient detail\u201d or \u201cuntil we receive any contrary legislation or guidance, X will limit API access under Artic le 40(12) to organizations located in the "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 231a4e77ddb92ea8dfff4081fafe0f55466aaef7a78f398184749d283a0daf4c
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 7, "split_id": 7, "split_idx_start": 12278, "chroma:document": "requests to X have gotten rejected with statements such as \u201capplication is incom-\nplete or lacks sufficient detail\u201d or \u201cuntil we receive any contrary legislation or guidance, X will limit API access under Artic le 40(12) to organizations located in the EU\u201d (see sample case 2 below; also sample case 1 above). Both are not sufficiently explained or helpful for researchers so they can adjust future requests.\f 7 Sample case 2: \u201cEmpowering researchers\u201d under the Code of Practice on Disinfor-\nmation While not directly related to Article 40(12), the voluntary commitments various VLOPs have made under the EU\u2019s Code of Practice on Disinformation still shine a light on vari-\nous approaches to researcher access to data. For example, the latest report on the Code from March 2024 shows that some companies publish the number and approvals of re-\nquests to their application programming interfaces (APIs), others do not. The report also shows that documentation on APIs and data access varies widely. Overall, it becomes clear that some o f the open questions related to Article 40(12) are recurring themes from other debates in need of clarification via cross -platform, EU -wide guidance. Suggestion: Actionable responses should come within three weeks and provide substantive explanations. An important goal of Article 40(12) is enabling fast, data -driven research as well as mon-\nitoring of current societal topics (as recital 98 mentions). The DSA also states that data should be provided in real time, if technically possible. Achieving this goa l is severely hindered if responses take longer than three weeks . Especially in relation to current events, but also in the planning of resources for research projects, response times longer than three weeks carry the risk of sinking some research projects . Moreover, researchers require substantive and actionable explanations for why their requests were rejected. While VLOPs "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 94f551f75fa4836ae6446a47acc786a30c9ca47dd41a1fc6634122546350f539
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 8, "split_id": 8, "split_idx_start": 13937, "chroma:document": "but also in the planning of resources for research projects, response times longer than three weeks carry the risk of sinking some research projects . Moreover, researchers require substantive and actionable explanations for why their requests were rejected. While VLOPs cannot and should not rephrase research questions for researchers, the applicants need to at least understand what caused the rejection, so they can improve and revise or re -submit access requests. 5. Types of data accessed Status quo: Documentation of accessible data is lacking. Some VLOPs do not document the functionality and accessible data researchers can apply for under Article 40(12). This complicates the application process as researchers either cannot be specific in their application texts or researchers try to be specific but platforms can reject an application base d on the mismatch between proposed research and actual platform access (see sample case 3).\f 8 Sample case 3: Lack of understanding what data TikTok does and does not make available TikTok promotes its Research API as a way to access various types of data, along with dedicated documentation. This is generally a helpful approach but the documentation pre-\nviously offered conflicting information on certain issues such as queries. Moreover , it is unclear why some data is available via the Research API and other data is not (as re-\nsearchers have found that other sources provide deeper insights). Suggestion: Platforms should provide clear access mode documentation. It would be highly beneficial for researchers if VLOPs provided clear documentation on the access to public data , as some companies do based in part on their voluntary commitments under the EU\u2019s Code of Practice on Disinformation. This could be achieved through a dedicated overview of public data that can be requested through their APIs and/or by highlighting the da ta fields considered public data "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 69e97aca1b7707cba61e7a2d1701f4c596f32b540d4c1442f08db5cc47d7b7cb
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 9, "split_id": 9, "split_idx_start": 15612, "chroma:document": "on their voluntary commitments under the EU\u2019s Code of Practice on Disinformation. This could be achieved through a dedicated overview of public data that can be requested through their APIs and/or by highlighting the da ta fields considered public data in their API documentation. Information should also cover any rate limits or other restrictions of access. This is similar to what is already in place for access to commercial APIs. Any restrictions need to be transparent, justified and in accordance with Article 40(12). 6. Changes once data access has been granted Status quo: Restrictions occur after data access requests have been granted. In some of the few known cases where data access has been granted, access has been changed and restricted after it was granted (see sample case 4). This complicates re-\nsearcher data access, as a change in the empirical basis can reduce the explanatory power of data and with this, the assessment of systemic risks in general. Sample case 4: Granted access to TikTok API is attempted to be revoked. After a researcher was granted access to TikTok\u2019s Research API, the company sent an email to the researcher stating that \u201cAfter careful review of your application, it appears your research project as proposed would violate the Research API Terms of Service (...) Could you please confirm that there will be no breach of our Terms of Service and provide clarification of your research design if you believe that there will be no breach?\u201d There is no information provided that is specific to the research project, explaining where TikTok sees a breach of its terms of service. Crucially, there is no referral to the researcher\u2019 s alleged non -compliance with the DSA under which access had been granted. The refer-\nence to corporate terms of service to revoke legally protected data "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 8057dd867c98c4dee7e86cb69cad50df128a25b90682262cf6c26dd2b53a310c
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 9, "split_id": 10, "split_idx_start": 17199, "chroma:document": "a breach of its terms of service. Crucially, there is no referral to the researcher\u2019 s alleged non -compliance with the DSA under which access had been granted. The refer-\nence to corporate terms of service to revoke legally protected data access seems to be at odds with the DSA.\f 9 Suggestion: Any changes to data access should be announced in advance and ex-\nplained. While changes in technical infrastructure are inevitable, such changes need to be proac-\ntively announced and communicated by platforms for researchers who have received data access, including specific and substantive explanations. Planned changes need to be made public in the documentation, preferably on dedicated researcher websites. 7. Costs No change to status quo necessary: Access requests under Article 40(12) are free. So far, it seems that researchers are not being charged for requesting data under Article 40(12). This should not change. The whole point of the article is to allow fast, free, low -\nbarrier access to data that is already publicly available. Any financial ba rriers erected by VLOPs would run counter to this. This is especially pertinent since some replacements to CrowdTangle (see point 9 below) or to Article 40(12) access touted by platforms are fee -\nbased social media monitoring services and as such not fittin g alternatives . 8. Terms and Conditions Status quo: Policies regarding data retention, refresh, sharing, and pre -publication review are often at odds with how research is conducted. The terms and conditions of several VLOP\u2019s data access rules require researchers who want to access public data to agree to submit any publications they generate using that data to the VLOP for review . This significantly hinders researchers from carrying out and publishing research in the public interest, especially when that research may run counter to the interest of the company. Moreover, "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 3c25e711c2ef87d00017656a04b11d3a39d5aed02ef252e10c89ea636f881ed8
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 10, "split_id": 11, "split_idx_start": 18836, "chroma:document": "publications they generate using that data to the VLOP for review . This significantly hinders researchers from carrying out and publishing research in the public interest, especially when that research may run counter to the interest of the company. Moreover, academic research norms often require the long -term retention of data for analysis, open data for replication and the independent sharing of results in peer -reviewed journals, yet some VLOP data access programs, such as TikTok\u2019s Research API, require that researchers refresh data every fifteen days, bars researchers from sharing data and requires that researchers send th eir papers to TikTok thirty days in advance of publication. Suggestion: Abolish pre -publication review. VLOPs should refrain from having any pre -publication reviews as a requirement for obtaining access to public data under Article 40(12). Terms and conditions should not be overly burdensome (or counter -intuitive) to producing public -interest research. They\f 10 should also clearly establish how data can be shared within a project team. In turn, re-\nsearchers using Article 40(12) should generally commit to make their study results pub-\nlicly and freely available, even though this is not legally required. 9. Existing Access Status quo: Data access modes that have existed prior to Article 40(12) are about to be discontinued. Meta has announced plans to discontinue access to platform data via Crowdtangle on August 14, 2024. This creates serious issues for researchers because it leads to a cap of existing and longitudinal research projects. It is especially unfortunate that this happens during a year with many elections across the world, including the Euro pean Parliament and US presidential elections, which leaves a gap in public data access for pre - and post -\nelection monitoring that the new Meta content library is not able to fi ll. Suggestion: Existing data access modes "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 65ff36b75f295c11bb39d20a608b422706101a9ef78fd32ac7fe9a946ba95b9d
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\WPP_9_2024_Enabling-Research-with-Publicly-Accessible-Platform-Data-2.pdf", "source_id": "30f3de5e7a3beafdd9dfa307c035167664366f3a715c5a6517764401492ba7b9", "page_number": 11, "split_id": 12, "split_idx_start": 20536, "chroma:document": "the Euro pean Parliament and US presidential elections, which leaves a gap in public data access for pre - and post -\nelection monitoring that the new Meta content library is not able to fi ll. Suggestion: Existing data access modes should be continued until a satisfactory new data access model under Article 40(12) is in place. As mentioned in the open letter initiated by the Mozilla Foundation , existing data access modes need to be continued until all VLOPs fully comply with public data access under Article 40(12). At minimum, this should be considered as developing sufficiently robust data access tools and granting access to a variety of public interest researchers, particu-\nlarly those who ha ve requested access to public data and have not yet heard back from VLOPs. Companies should establish (or continue and expand their existing) consultations with the wider research community, not only academic researchers, to ensure that their programs meet the ambitions of the regulation as laid out in Article 40(12) . We encourage VLOPs to ensure compliance with Article 40(12) and regulators at the European and national levels to continue their oversight work on this important provision. Specifically, we encourage the Commission and the European Board for Digital Servic es to develop guidelines for Article 40(12) that address some of the challenges and open questions described here."}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: a7439878f38e20834de7ef156f9473d870b51845d82ee1354eecd22ede5974b7
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\X research for academics and marketers _ Twitter Developer Platform.pdf", "source_id": "7f90e711979f45bb2cdd4e9470a6ffe8993e6e6307417e65ddc8bdbdec400323", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "Research global healthCombat hate speechStudy public sentiment\nMonitoring COVID-19perceptions andhotspotsUsing linguistic markers in posts, the team at the Center forCenter forDigital Health at Penn MedicineDigital Health at Penn Medicine shows how attitudesabout COVID-19 vary by region, and can potentially identifyemerging hotspots based on aggregate increases in symptomsbeing discussed. Information from this dashboard can be usedby health systems and policy makers to provide current,hyperlocal, and actionable information to their communities.Relevant endpoints: Filtered streamFiltered stream\nLearn more about Penn Medicine Center for Digital Health\u2192\nGet started nowBegin using the X API in seconds with our access plans.Subscribe now\nDEVELOPER POLICY AND TERMSFOLLOW IXDEVELOPERSSubscribe to developer news\nX platform\nX.com\nStatus\nAccessibility\nEmbed a post\nPrivacy Center\nTransparency Center\nDownload the X app\nX Corp.\nAbout the company\nCompany news\nBrand toolkit\nJobs and internships\nInvestors\nHelp\nHelp Center\nUsing X\nX for creators\nAds Help Center\nManaging your account\nEmail Preference Center\nRules and policies\nContact us\nDeveloper resources\nDeveloper home\nDocumentation\nForums\nCommunities\nDeveloper blog\nEngineering blog\nDeveloper terms\nBusiness resources\nAdvertise\nX for business\nResources and guides\nX for marketers\nMarketing insights\nBrand inspiration\nX Ads Academy\n\u00a9 2024 X Corp.\nCookies\nPrivacy\nTerms and conditionsResearch under EUDigital Services ActQualified research under the Article 40 of the DigitalServices Act may apply for X API access.\u00a0Note: this application is only for a narrow subset of EUresearch related to the DSA. For general academicresearch, please enroll in one of our X API access tiers.Apply nowDoresearchUse the X API to get historical and real-time data points for your next researchproject.\nListen to and understandwhat\u2019s happening on XConduct academic researchFrom social science to computer science, advance nearly any researchobjective on topics as diverse as the global conversations happening on X.Learn more \u2192Solve problems with applied research for NGOsUse X data to conduct scientific studies that solve problems to impact themission of your non-profit organization or lab.Enrich investigative journalism and independent researchUse X data to explore global to local topics and events that can inform projectsand publications.Conduct market research for businessUnderstand your audience and what they value by uncovering trends andsurfacing important conversations "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: f6f5d9008a2de53977375fb1d6f5b56065526fb87bcf3b439ec620750f1b896c
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\X research for academics and marketers _ Twitter Developer Platform.pdf", "source_id": "7f90e711979f45bb2cdd4e9470a6ffe8993e6e6307417e65ddc8bdbdec400323", "page_number": 1, "split_id": 1, "split_idx_start": 2197, "chroma:document": "non-profit organization or lab.Enrich investigative journalism and independent researchUse X data to explore global to local topics and events that can inform projectsand publications.Conduct market research for businessUnderstand your audience and what they value by uncovering trends andsurfacing important conversations on X.Learn more \u2192\nProducts\nDocs\nUse Cases\nCommunity\nSupport\nDeveloper Portal\nDeveloper Platform"}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 20161355b99b78f9d7a22e4583e1da1d6a0300de19a9c5b033b4c8d59e0418f4
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Data API Overview \u00a0_\u00a0 Google for Developers.pdf", "source_id": "d985fc16dc946a949bf2f7344666c5bc3ac94c6cae2ed8af392850c5052b133c", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "BlogThe latest news on theYouTube blogGitHubFind API code samples andother YouTube open-sourceprojects.Issue TrackerSomething wrong? Send usa bug report!Stack OverflowAsk a question under theyoutube-api tagVideosCheck out the YouTubeDeveloper Relations team'sYouTube channelToolsGoogle APIs ExplorerYouTube Player DemoConKgure a Subscribe ButtonIssue TrackerFile a bugRequest a featureSee open issuesProduct InfoTerms of ServiceBranding GuidelinesMonetization GuidelinesAPIs subject to Deprecation PolicyAndroidChromeFirebaseGoogle Cloud PlatformGoogle AIAll productsTerms|PrivacySign up for the Google for Developers newsletterSubscribe\n\ue838\n\ue838Home\ue5ccProducts\ue5ccYouTube\ue5ccData API\ue5ccGuidesWas this helpful?YouTube Data API Overview Introduction\ue157This document is intended for developers who want to write applications that interact with YouTube. It explains basic conceptsof YouTube and of the API itself. It also provides an overview of the different functions that the API supports.Before you start1. You need a Google Account to access the Google API Console, request an API key, and register your application.2. Create a project in the Google Developers Console and obtain authorization credentials so your application can submitAPI requests.3. After creating your project, make sure the YouTube Data API is one of the services that your application is registered touse:a. Go to the API Console and select the project that you just registered.b. Visit the Enabled APIs page. In the list of APIs, make sure the status is ON for the YouTube Data API v3.4. If your application will use any API methods that require user authorization, read the authentication guide to learn how toimplement OAuth 2.0 authorization.5. Select a client library to simplify your API implementation.]. Familiarize yourself with the core concepts of the JSON (JavaScript Object Notation) data format. JSON is a common,language-independent data format that provides a simple text representation of arbitrary data structures. For moreinformation, see json.org.Resources and resource typesA resource is an individual data entity with a unique identiKer. The table below describes the different types of resources thatyou can interact with using the API.ResourcesactivityContains information about "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: c2ca109db54fcba73a2c5afde2690a270c2341d6f63048e043cbe23219ceab38
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Data API Overview \u00a0_\u00a0 Google for Developers.pdf", "source_id": "d985fc16dc946a949bf2f7344666c5bc3ac94c6cae2ed8af392850c5052b133c", "page_number": 1, "split_id": 1, "split_idx_start": 1945, "chroma:document": "representation of arbitrary data structures. For moreinformation, see json.org.Resources and resource typesA resource is an individual data entity with a unique identiKer. The table below describes the different types of resources thatyou can interact with using the API.ResourcesactivityContains information about an action that a particular user has taken on the YouTube site. User actions thatare reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, andposting a channel bulletin, among others.channelContains information about a single YouTube channel.channelBannerIdentiKes the URL to use to set a newly uploaded image as the banner image for a channel.channelSectionContains information about a set of videos that a channel has chosen to feature. For example, a sectioncould feature a channel's latest uploads, most popular uploads, or videos from one or more playlists.guideCategoryIdentiKes a category that YouTube associates with channels based on their content or other indicators, suchas popularity. Guide categories seek to organize channels in a way that makes it easier for YouTube users toKnd the content they're looking for. While channels could be associated with one or more guide categories,they are not guaranteed to be in any guide categories.i18nLanguageIdentiKes an application language that the YouTube website supports. The application language can also bereferred to as a UI language.i18nRegionIdentiKes a geographic area that a YouTube user can select as the preferred content region. The contentregion can also be referred to as a content locale.playlistRepresents a single YouTube playlist. A playlist is a collection of videos that can be viewed sequentially andshared with other users.playlistItemIdentiKes a resource, such as a video, that is part of a playlist. The playlistItem resource also containsdetails that explain how the included resource is used in the playlist.search resultContains information about a YouTube video, channel, or playlist that matches the search parametersspeciKed in an API "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 986a496131e708075faf0a30bab3ca4cc1c530a9bd8d3db3560f6638ccf0796e
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Data API Overview \u00a0_\u00a0 Google for Developers.pdf", "source_id": "d985fc16dc946a949bf2f7344666c5bc3ac94c6cae2ed8af392850c5052b133c", "page_number": 1, "split_id": 2, "split_idx_start": 3751, "chroma:document": "video, that is part of a playlist. The playlistItem resource also containsdetails that explain how the included resource is used in the playlist.search resultContains information about a YouTube video, channel, or playlist that matches the search parametersspeciKed in an API request. While a search result points to a uniquely identiKable resource, like a video, itdoes not have its own persistent data.subscriptionContains information about a YouTube user subscription. A subscription notiKes a user when new videosare added to a channel or when another user takes one of several actions on YouTube, such as uploading avideo, rating a video, or commenting on a video.thumbnailIdentiKes thumbnail images associated with a resource.videoRepresents a single YouTube video.videoCategoryIdentiKes a category that has been or could be associated with uploaded videos.watermarkIdentiKes an image that displays during playbacks of a speciKed channel's videos. The channel owner canalso specify a target channel to which the image links as well as timing details that determine when thewatermark appears during video playbacks and then length of time it is visible.Note that, in many cases, a resource contains references to other resources. For example, a playlistItem resource'ssnippet.resourceId.videoId property identiKes a video resource that, in turn, contains complete information about thevideo. As another example, a search result contains either a videoId, playlistId, or channelId property that identiKes aparticular video, playlist, or channel resource.Supported operationsThe following table shows the most common methods that the API supports. Some resources also support other methods thatperform functions more speciKc to those resources. For example, the videos.rate method associates a user rating with avideo, and the thumbnails.set method uploads a video thumbnail image to YouTube and associates it with a video.OperationslistRetrieves (GET) a list of zero or more resources.insertCreates (POST) a new resource.updateModiKes (PUT) an existing resource to redect data in your request.deleteRemoves (DELETE) a speciKc resource.The API "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: e945508ebfc907ce470a6e277c8bd2a24a6741ce90eaea035c5f9fdb1e5ee131
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Data API Overview \u00a0_\u00a0 Google for Developers.pdf", "source_id": "d985fc16dc946a949bf2f7344666c5bc3ac94c6cae2ed8af392850c5052b133c", "page_number": 1, "split_id": 3, "split_idx_start": 5603, "chroma:document": "uploads a video thumbnail image to YouTube and associates it with a video.OperationslistRetrieves (GET) a list of zero or more resources.insertCreates (POST) a new resource.updateModiKes (PUT) an existing resource to redect data in your request.deleteRemoves (DELETE) a speciKc resource.The API currently supports methods to list each of the supported resource types, and it supports write operations for manyresources as well.The table below identiKes the operations that are supported for different types of resources. Operations that insert, update, ordelete resources always require user authorization. In some cases, list methods support both authorized and unauthorizedrequests, where unauthorized requests only retrieve public data while authorized requests can also retrieve information aboutor private to the currently authenticated user.Supported Operationslistinsertupdatedeleteactivity\ue5ca\ue033\ue033\ue033caption\ue5ca\ue5ca\ue5ca\ue5cachannel\ue5ca\ue033\ue033\ue033channelBanner\ue033\ue5ca\ue033\ue033channelSection\ue5ca\ue5ca\ue5ca\ue5cacomment\ue5ca\ue5ca\ue5ca\ue5cacommentThread\ue5ca\ue5ca\ue5ca\ue033guideCategory\ue033\ue033\ue033\ue033i18nLanguage\ue5ca\ue033\ue033\ue033i18nRegion\ue5ca\ue033\ue033\ue033playlist\ue5ca\ue5ca\ue5ca\ue5caplaylistItem\ue5ca\ue5ca\ue5ca\ue5casearch result\ue5ca\ue033\ue033\ue033subscription\ue5ca\ue033\ue033\ue033thumbnail\ue033\ue033\ue033\ue033video\ue5ca\ue5ca\ue5ca\ue5cavideoCategory\ue5ca\ue033\ue033\ue033watermark\ue033\ue033\ue033\ue033Quota usageThe YouTube Data API uses a quota to ensure that developers use the service as intended and do not create applications thatunfairly reduce service quality or limit access for others. All API requests, including invalid requests, incur at least a one-pointquota cost. You can Knd the quota available to your application in the API Console.Projects that enable the YouTube Data API have a default quota allocation of 10,000 units per day, an amount suecient for theoverwhelming majority of our API users. Default quota, which is subject to change, helps us optimize quota allocations andscale our infrastructure in a way that is more meaningful to our API users. You can see your quota usage on the Quotas page inthe API Console.Note: If you reach the quota limit, you can request additional quota by completing the Quota extension request form for YouTube APIServices.Calculating quota usageGoogle calculates your quota usage by assigning a cost to each request. Different types of operations have different quotacosts. For example:A read operation that retrieves a list of resources -- channels, videos, playlists -- usually costs 1 unit.A write operation that creates, "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 781e031c212da1f2cfc75b46a072ccb0bb6e6eb14e64fbdfc2d85e362ac12960
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Data API Overview \u00a0_\u00a0 Google for Developers.pdf", "source_id": "d985fc16dc946a949bf2f7344666c5bc3ac94c6cae2ed8af392850c5052b133c", "page_number": 1, "split_id": 4, "split_idx_start": 7668, "chroma:document": "your quota usage by assigning a cost to each request. Different types of operations have different quotacosts. For example:A read operation that retrieves a list of resources -- channels, videos, playlists -- usually costs 1 unit.A write operation that creates, updates, or deletes a resource usually has costs 50 units.A search request costs 100 units.A video upload costs 1600 units.The Quota costs for API requests table shows the quota cost of each API method. With these rules in mind, you can estimatethe number of requests that your application could send per day without exceeding your quota.Partial resourcesThe API allows, and actually requires, the retrieval of partial resources so that applications avoid transferring, parsing, andstoring unneeded data. This approach also ensures that the API uses network, CPU, and memory resources more eeciently.The API supports two request parameters, which are explained in the following sections, that enable you to identify theresource properties that should be included in API responses.The part parameter identiKes groups of properties that should be returned for a resource.The fields parameter Klters the API response to only return speciKc properties within the requested resource parts.How to use the part parameterThe part parameter is a required parameter for any API request that retrieves or returns a resource. The parameter identiKesone or more top-level (non-nested) resource properties that should be included in an API response. For example, a videoresource has the following parts:snippetcontentDetailsfileDetailsplayerprocessingDetailsrecordingDetailsstatisticsstatussuggestionstopicDetailsAll of these parts are objects that contain nested properties, and you can think of these objects as groups of metadata Keldsthat the API server might (or might not) retrieve. As such, the part parameter requires you to select the resource componentsthat your application actually uses. This requirement serves two key purposes:It reduces latency by preventing the API server from spending time retrieving metadata Kelds that your application doesn'tuse.It "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 087176d75456f2baa816fd24ee276f4131c15024c4762faf34948f2230c82ee2
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Data API Overview \u00a0_\u00a0 Google for Developers.pdf", "source_id": "d985fc16dc946a949bf2f7344666c5bc3ac94c6cae2ed8af392850c5052b133c", "page_number": 1, "split_id": 5, "split_idx_start": 9495, "chroma:document": "retrieve. As such, the part parameter requires you to select the resource componentsthat your application actually uses. This requirement serves two key purposes:It reduces latency by preventing the API server from spending time retrieving metadata Kelds that your application doesn'tuse.It reduces bandwidth usage by reducing (or eliminating) the amount of unnecessary data that your application mightretrieve.Over time, as resources add more parts, these beneKts will only increase since your application will not be requesting newlyintroduced properties that it doesn't support.How to use the fields parameterThe fields parameter Klters the API response, which only contains the resource parts identiKed in the part parameter value,so that the response only includes a speciKc set of Kelds. The fields parameter lets you remove nested properties from anAPI response and thereby further reduce your bandwidth usage. (The part parameter cannot be used to Klter nestedproperties from a response.)The following rules explain the supported syntax for the fields parameter value, which is loosely based on XPath syntax:Use a comma-separated list (fields=a,b) to select multiple Kelds.Use an asterisk (fields=*) as a wildcard to identify all Kelds.Use parentheses (fields=a(b,c)) to specify a group of nested properties that will be included in the API response.Use a forward slash (fields=a/b) to identify a nested property.In practice, these rules often allow several different fields parameter values to retrieve the same API response. For example,if you want to retrieve the playlist item ID, title, and position for every item in a playlist, you could use any of the followingvalues:fields=items/id,playlistItems/snippet/title,playlistItems/snippet/positionfields=items(id,snippet/title,snippet/position)fields=items(id,snippet(title,position))Note: As with all query parameter values, the fields parameter value must be URL encoded. For better readability, the examples in thisdocument omit the encoding.Sample partial requestsThe examples below demonstrate how you can use the part and fields parameters to ensure that API responses onlyinclude the data that your application uses:1. Example 1 returns "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: e252c87b28352853815af987253f1b1fbf22c37ff4268caab53039a9ae276774
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Data API Overview \u00a0_\u00a0 Google for Developers.pdf", "source_id": "d985fc16dc946a949bf2f7344666c5bc3ac94c6cae2ed8af392850c5052b133c", "page_number": 1, "split_id": 6, "split_idx_start": 11421, "chroma:document": "encoded. For better readability, the examples in thisdocument omit the encoding.Sample partial requestsThe examples below demonstrate how you can use the part and fields parameters to ensure that API responses onlyinclude the data that your application uses:1. Example 1 returns a video resource that includes four parts as well as kind and etag properties.2. Example 2 returns a video resource that includes two parts as well as kind and etag properties.3. Example 3 returns a video resource that includes two parts but excludes kind and etag properties.4. Example 4 returns a video resource that includes two parts but excludes kind and etag as well as some nestedproperties in the resource's snippet object.\nOptimizing performanceUsing ETagsETags, a standard part of the HTTP protocol, allow applications to refer to a speciKc version of a particular API resource. Theresource could be an entire feed or an item in that feed. This functionality supports the following use cases:Caching and conditional retrieval \u2013 Your application can cache API resources and their ETags. Then, when yourapplication requests a stored resource again, it speciKes the ETag associated with that resource. If the resource haschanged, the API returns the modiKed resource and the ETag associated with that version of the resource. If the resourcehas not changed, the API returns an HTTP 304 response (Not Modified), which indicates that the resource has notchanged. Your application can reduce latency and bandwidth usage by serving cached resources in this manner.The client libraries for Google APIs differ in their support of ETags. For example, the JavaScript client library supportsETags via a whitelist for allowed request headers that includes If-Match and If-None-Match. The whitelist allowsnormal browser caching to occur so that if a resource's ETag has not changed, the resource can be served from thebrowser cache. The Obj-C client, on the other hand, does "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 9e18b9e0e482f651e5abd0da19a938e3ea7372d5733f661220c4e0b76f3fd53c
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Data API Overview \u00a0_\u00a0 Google for Developers.pdf", "source_id": "d985fc16dc946a949bf2f7344666c5bc3ac94c6cae2ed8af392850c5052b133c", "page_number": 1, "split_id": 7, "split_idx_start": 13115, "chroma:document": "allowed request headers that includes If-Match and If-None-Match. The whitelist allowsnormal browser caching to occur so that if a resource's ETag has not changed, the resource can be served from thebrowser cache. The Obj-C client, on the other hand, does not support ETags.Protecting against inadvertent overwrites of changes \u2013 ETags help to ensure that multiple API clients don't inadvertentlyoverwrite each other's changes. When updating or deleting a resource, your application can specify the resource's ETag. Ifthe ETag doesn't match the most recent version of that resource, then the API request fails.Using ETags in your application provides several beneKts:The API responds more quickly to requests for cached but unchanged resources, yielding lower latency and lowerbandwidth usage.Your application will not inadvertently overwrite changes to a resource that were made from another API client.The Google APIs Client Library for JavaScript supports If-Match and If-None-Match HTTP request headers, therebyenabling ETags to work within the context of normal browser caching.Using gzipYou can also reduce the bandwidth needed for each API response by enabling gzip compression. While your application willneed additional CPU time to uncompress API responses, the beneKt of consuming fewer network resources usually outweighsthat cost.To receive a gzip-encoded response you must do two things:Set the Accept-Encoding HTTP request header to gzip.Modify your user agent to contain the string gzip.The sample HTTP headers below demonstrate these requirements for enabling gzip compression:\nWas this helpful?Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its aeliates.Last updated 2023-11-08 UTC.\ue867\ue5c5\nExample 1Example 2Example 3Example 4URL:Description:API response:{ \"kind\": \"youtube#videoListResponse\", \"etag\": \"\\\"UCBpFjp2h75_b92t44sqraUcyu0/sDAlsG9NGKfr6v5AlPZKSEZdtqA\\\"\", \"videos\": [ { \"id\": \"7lCDEYXw3mM\", \"kind\": \"youtube#video\", \"etag\": \"\\\"UCBpFjp2h75_b92t44sqraUcyu0/iYynQR8AtacsFUwWmrVaw4Smb_Q\\\"\", \"snippet\": { \"publishedAt\": \"2012-06-20T22:45:24.000Z\", \"channelId\": \"UC_x5XG1OV2P6uZZ5FSM9Ttw\", \"title\": "}


created_at: 2024-11-07 15:52:11
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 205f9f93a790b8084b5a93dd94aff8c4eec96b504fc540d5122e1f86254c3efc
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Data API Overview \u00a0_\u00a0 Google for Developers.pdf", "source_id": "d985fc16dc946a949bf2f7344666c5bc3ac94c6cae2ed8af392850c5052b133c", "page_number": 1, "split_id": 8, "split_idx_start": 14939, "chroma:document": "Site Policies. Java is a registered trademark of Oracle and/or its aeliates.Last updated 2023-11-08 UTC.\ue867\ue5c5\nExample 1Example 2Example 3Example 4URL:Description:API response:{ \"kind\": \"youtube#videoListResponse\", \"etag\": \"\\\"UCBpFjp2h75_b92t44sqraUcyu0/sDAlsG9NGKfr6v5AlPZKSEZdtqA\\\"\", \"videos\": [ { \"id\": \"7lCDEYXw3mM\", \"kind\": \"youtube#video\", \"etag\": \"\\\"UCBpFjp2h75_b92t44sqraUcyu0/iYynQR8AtacsFUwWmrVaw4Smb_Q\\\"\", \"snippet\": { \"publishedAt\": \"2012-06-20T22:45:24.000Z\", \"channelId\": \"UC_x5XG1OV2P6uZZ5FSM9Ttw\", \"title\": \"Google I/O 101: Q&A On Using Google APIs\", \"description\": \"Antonio Fuentes speaks to us and takes questions on working with Google APIs and OAuth 2.0.\", \"thumbnails\": { \"default\": { \"url\": \"https://i.ytimg.com/vi/7lCDEYXw3mM/default.jpg\" }, \"medium\": { \"url\": \"https://i.ytimg.com/vi/7lCDEYXw3mM/mqdefault.jpg\" }, \"high\": { \"url\": \"https://i.ytimg.com/vi/7lCDEYXw3mM/hqdefault.jpg\" } }, \"categoryId\": \"28\" }, \"contentDetails\": { \"duration\": \"PT15M51S\", \"aspectRatio\": \"RATIO_16_9\" }, \"statistics\": { \"viewCount\": \"3057\", \"likeCount\": \"25\", \"dislikeCount\": \"0\", \"favoriteCount\": \"17\", \"commentCount\": \"12\" }, \"status\": { \"uploadStatus\": \"STATUS_PROCESSED\", \"privacyStatus\": \"PRIVACY_PUBLIC\" } } ]}\nAccept-Encoding: gzipUser-Agent: my program (gzip)\nEnglish\nOverviewClient LibrariesAuthorize RequestsOverviewGet Auth CredentialsServer-side Web AppsClient-side Web AppsInstalled AppsDevicesQuickstartsAndroidApps ScriptGoiOSJavaJavaScriptNode.jsFilter\ue152\n\ue5cb\nHomeGuidesReferenceSamplesSupport\ndevelopers.google.com uses cookies from Google to deliver and enhance the quality of its services and to analyze traec. Learn more.\nOK, got it\nInfoChatAPIYouTube\ue5ccData APIEnglish\nJoin the Google Developer ProgramUnlock AI tools, exclusive training, and insideraccess. Join today and accelerate your developerjourney.DismissStartSearch\ue8b6/"}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 1debcd28c2a3778e23b5de4aa3d119cd85ebe84e8e033e2e2b8e4dde99574620
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Research - How It Works.pdf", "source_id": "26963fc30fe0270f61007647dc565436b61974c47db93295c5f22fdf5ef42a53", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "How itworksSee an overview of the program and answers tocommon questions.Program overviewThis program is for academic researchers interested in using YouTube\u2019sglobal Data API for their next research project. Here\u2019s how it works:\nWhat data isavailable?We\u2019re starting this program withscaled, expanded access to globalvideo metadata across the entirepublic YouTube corpus via our DataAPI. Learn more about what data isavailable in the YouTube APIreference. We encourage allresearchers with clear research goalsto apply. We\u2019re excited to work withyou and learn which additional toolsand data could support your work.Frequently askedquestionsBelow, you\u2019ll find answers to common questionsabout the program.\nReady to join the program?APPL Y NOW\nConfirm your eligibilityVerify that you\u2019re an academic researcheraffiliated with an accredited, higher-learninginstitution.View entry criteria 1Create a Google CloudprojectBefore you apply, you\u2019ll need to create an APIproject in the Google Cloud Console. Getstarted by visiting the enabled APIs page.Read the guide 2Submit your applicationApply with your institutional email (such as.edu), include as much detail as possible,and confirm that all of your information isaccurate.View the application 3\nWho counts as a qualified researcher?A qualified researcher is a student, research-focused staff, or faculty memberaffiliated with an accredited higher-learning institution.View entry criteria What can researchers study with YouT ube\u2019s Data API?I\u2019ve already applied for an increase in the Data API quotafor academic studies through this form. Do I need to applyseparately to YouTube\u2019s Researcher Program?A researcher is proposing I grant OAuth access to helpthem with their study. Is this allowed?Beyond scaled Data API access, do you have a roadmap ofexpanded products, features, and services for theprogram?What is considered an \u201celigible\u201d academic institution?What standards do you use to determine if an academicinstitution is \u201caccredited\u201d?Why isn't my accredited institution on the eligibleaccredited institutions list?What countries is the YouT ube Researcher Programavailable in?Why isn\u2019t the YouT ube Researcher Program available in mycountry?\nConnectAbout YouTubeAboutBlogHow YouTube WorksJobsPressYouTube Culture & TrendsNFL Sunday TicketProductsYouTube "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 07ed7b4bf19ed8f65ded0d4ab932e2a39de34c78dc00269b54b538c75252c854
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\YouTube Research - How It Works.pdf", "source_id": "26963fc30fe0270f61007647dc565436b61974c47db93295c5f22fdf5ef42a53", "page_number": 1, "split_id": 1, "split_idx_start": 1932, "chroma:document": "determine if an academicinstitution is \u201caccredited\u201d?Why isn't my accredited institution on the eligibleaccredited institutions list?What countries is the YouT ube Researcher Programavailable in?Why isn\u2019t the YouT ube Researcher Program available in mycountry?\nConnectAbout YouTubeAboutBlogHow YouTube WorksJobsPressYouTube Culture & TrendsNFL Sunday TicketProductsYouTube KidsYouTube MusicYouTube OriginalsYouTube PodcastsYouTube PremiumYouTube SelectYouTube StudioYouTube TVFor BusinessDevelopersYouTube AdvertisingFor CreatorsCreating for YouTube KidsCreator ResearchCreator Services DirectoryYouTube ArtistsYouTube CreatorsYouTube NextUpYouTube VROur CommitmentsCreators for ChangeCSAI MatchSocial Impact\nPolicies & SafetyCopyrightBrand GuidelinesPrivacyTermsHelpAPPL Y NOWHomeHow it WorksPolicies"}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 609eccc15344d6248948a433c8713be86a22866955df4abb5d51c0947f0056c2
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\\ud83e\udd26\u200d\u2640\ufe0f\u00a0The Research API falls woefully short _ auditing TikTok.pdf", "source_id": "c1d3e9906cb1cd43c73166c8e834df3dd7097a539bd6cc7ef902badcfc10aeed", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "The Research API falls woefully shortOctober 16, 2023\ud83d\udcc5 2023 \u00b7 # analysis \u00b7 \ud83c\udff7 research \ud83c\udff7 API *By: Santiago Sordo Ruz, Martin Degeling and Kathy Me\u00dfmerTikTok\u2019s reach is measured in the billions. According to different sources, in 2022 it had 1.7 billion users, 1billion daily views and 1.12 billion monthly active users. This is why we need a systematic way of accessingdata about the platform to conduct thorough research about it - may it be for exploring the platform\u2019saffordances or conducting a full-blown audit.One way TikTok provides access to some of its data is the Research API. It makes getting some insights intothe platform\u2019s inner workings possible, but it is far from satisfactory. Especially because the provided data isvery limited compared to which data is publicly available via scraping. So, let\u2019s have a closer look at that.\nImage: The number of variables available on TikTok through different means of data acccess.TikTok\u2019s Research APITikTok offers an application programming interface (API) where vetted academic researchers can obtaininformation about the content published by TikTok\u2019s users. An API is \u2014in short\u2014 a way to request and obtaininformation from a system. TikTok\u2019s Research API provides access to what is essentially a carefully curateddatabase of the videos the platform hosts.The API provides data and metadata about comments, users and videos. The number of variables available foreach of these categories is as follows:\nThese variables contain information about different aspects of the objects in question. For example, this iswhat is available in the case of comments:1. Create Time: This is the time when the comment was posted on a video.2. ID: This is the unique comment ID for a comment posted on a video.3. Like Count: The total number of likes for a comment under a video created by users by clicking the\u201cHeart\u201d icon.4. Parent Comment ID: This is "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: e03bd1225d0a6d84c47d126809d651d8bf9214e656093c9d007cb9bed6a95ff2
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\\ud83e\udd26\u200d\u2640\ufe0f\u00a0The Research API falls woefully short _ auditing TikTok.pdf", "source_id": "c1d3e9906cb1cd43c73166c8e834df3dd7097a539bd6cc7ef902badcfc10aeed", "page_number": 1, "split_id": 1, "split_idx_start": 1675, "chroma:document": "video.2. ID: This is the unique comment ID for a comment posted on a video.3. Like Count: The total number of likes for a comment under a video created by users by clicking the\u201cHeart\u201d icon.4. Parent Comment ID: This is the unique ID of the parent comment when the user responds to anotheruser\u2019s comment. If the comment was directly entered for a video, this ID is the same as the Video ID.5. Text: This is the actual text of the comment entered on a video. To protect the privacy of users, otherinformation is removed.a. Video_ID: This is the video ID for which the comment was entered.The API\u2019s obcial codebook provides a detailed description of all available variables. While these may shed lighton some research questions, especially related to the analysis of content posted on the platform, they areextremely limited in number and scope.Getting more useful data is hardSince civil society organisations like the SNV can\u2019t use the Research API, we decided to explore the platform onour own. We have done this using what is known as content scraping, which is the automated collection ofdata from online sources. We have collected data from two of TikTok\u2019s clients: the Android app and the webapp.Scraping data from the web is quite common and poses a relatively low technical barrier. However, scrapingdata from a smartphone app such as TikTok\u2019s Android client is quite challenging; we speak from experience.At the same time, scraping TikTok content from the Android app has proven invaluable. Its smartphone appsare the most natural way to use the platform \u2014providing data closer to what users actually encounter\u2014 andthe amount and variety of the information we have collected is incomparable to what is available throughthe Research API.The Research API falls woefully shortScraping TikTok directly from the source has allowed us to collect "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 6a05376c8756e7ea00d6712d6a314dfccb5c89d6f5636491d4c48a4999e538e5
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\\ud83e\udd26\u200d\u2640\ufe0f\u00a0The Research API falls woefully short _ auditing TikTok.pdf", "source_id": "c1d3e9906cb1cd43c73166c8e834df3dd7097a539bd6cc7ef902badcfc10aeed", "page_number": 1, "split_id": 2, "split_idx_start": 3253, "chroma:document": "closer to what users actually encounter\u2014 andthe amount and variety of the information we have collected is incomparable to what is available throughthe Research API.The Research API falls woefully shortScraping TikTok directly from the source has allowed us to collect information on various platform aspects.We have gained more and better perspectives on comments, users and videos, and also into obciallyundocumented features like the app\u2019s automated search suggestions.To illustrate this, let\u2019s have a look at the data and compare the number of variables on which we have collectedinformation through scraping with those offered by the Research API:\nYou can have a look at each source\u2019s codebook by clicking on the links in the table; note the trove of insightsthat scraping affords. Note as well that our codebooks are \u2014and will remain\u2014 works in progress.As you can see, the Research API falls woefully short. Furthermore, keep in mind that documenting scrapeddata constitutes a technical challenge, meaning these numbers are conservative estimates.Why this mattersAccording to the company, the Research API serves the following purpose:TikTok supports independent research about our platform. Through our Research API, academicresearchers from non-proht universities in the U.S. and Europe can apply to study public data aboutTikTok content and accounts.Put into perspective, what TikTok offers is such a weak attempt at supporting independent research that onehas to ask whether the company is simply claiming credit without doing the work. To make things worse, asmentioned above, access is so restricted that our very own researchers at Stiftung Neue Verantwortung do notqualify for the API. Put simply, if we want to be able to scrutinise a platform like TikTok and thus assess thepotential harms and impacts that its widespread usage entails, the Research API is grossly inadequate as awindow into it.Ultimately, with some technical expertise, much more data is already publicly available and "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 56d6b1f33e040666f2b456792f94651cf264eabb902cb51dade9479726fbb968
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\\ud83e\udd26\u200d\u2640\ufe0f\u00a0The Research API falls woefully short _ auditing TikTok.pdf", "source_id": "c1d3e9906cb1cd43c73166c8e834df3dd7097a539bd6cc7ef902badcfc10aeed", "page_number": 1, "split_id": 3, "split_idx_start": 4987, "chroma:document": "to scrutinise a platform like TikTok and thus assess thepotential harms and impacts that its widespread usage entails, the Research API is grossly inadequate as awindow into it.Ultimately, with some technical expertise, much more data is already publicly available and accessible anyway.It shouldn\u2019t take an in-house computer scientist with a PhD to obtain valuable insights into a social mediaplatform billions of people use. While it is reasonable for the platform to want to keep its inner workings secret,its potential impacts warrant profoundly wider and deeper access to the data generated by its users and aboutits users. That\u2019s why the data we have obtained should not remain hidden behind a formidable technical wall.On the contrary, it should be made readily available to researchers, including those working within civil societyorganisations.Enjoy Reading This Article?Here are some more articles you might like to read next: Understanding TikTok's For You Feed Other search for \u2026 the opposition party TikToks Effect on Consumer Protection\nObjectVariablesComments6Users8Videos9\nSourceVariablesDate collectedResearch API32July 6, 2023Web186July 6, 2023Android App845July 6, 2023\nauditing TikTokblognewsaboutpublicationscode\n\u00a9 Copyright 2024 Stiftung Neue Verantwortung. Powered by Jekyll with al-folio theme. Legal notice."}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 39f54d21a8c959287f93f8081b7a7847dd83964e366d5e98250461dc253c7c7c
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Advanced search - Content Library and API.pdf", "source_id": "6a313b0ce696b8a972bc6264fda83475645ecc33b312a8d8c42508cbaecd177c", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "Docume\u2026Content Library and A\u2026Content Library A\u2026Guid\u2026Advanced sear\u2026Su questa PaginaAdvanced search guidelinesMeta Content Library and API have a search functionality that supports AND, OR, and NOToperators. Query strings are passed as the q parameter as in this example (select the tab for thelanguage of your choice):\nresponse <- client$get( path=\"search/facebook_posts\", params=list(\"q\"=\"dogs | cats & pets\"))General rulesThe following general rules apply to forming queries:The following operators are supported: AND, OR, NOT.Use an ampersand character (&) or a blank space to indicate AND.Use a pipe character ( | ) to indicate OR.Use a hyphen character (-) to indicate NOT. The en-dash and em-dash characters arenot interpreted as substitutes for hyphen and are treated instead as keywords.For queries with multiple operators, NOT clauses are processed first, followed by AND,followed by OR. Imagine the terms grouped as if with parentheses.For clauses of equal precedence, there is a default left-to-right processing order.Grouping using parentheses is supported. Grouping can be used to modify the defaultprocessing order.You can use single-word keywords only (not phrases).Wild cards are not supported.Extra spaces around operators are ignored, so you can have them or not.\nR\nPython\fBecause they have special meaning in the context of query syntax, the following characters cannotbe used as keywords or embedded in keywords:& ampersand| pipe- hyphenspace( open parenthesis) close parenthesisAdditional information regarding searches is available in Advanced search.\nUsing operatorsThe examples included here demonstrate the basic use of the AND, OR, and NOT operators.Search objectiveSearch objectiveHow to write itHow to write itExamplesExamplesFind matches that include all ofthe provided search terms.Use the AND operatorexpressed as an ampersandcharacter (&) or a blank space.cat&dog&allergycat dog allergycat&dog allergycat dog&allergyEach match contains all threeterms: \u201ccat\u201d, \u201cdog\u201d, and \u201callergy\u201d.Find matches that include atleast one of the provided searchterms.Use the OR operator expressedas a pipe character (|).cat | dogcat|dogcat |dogcat| dog\fEach match contains \u201ccat\u201d or\u201cdog\u201d, and could contain both.Find "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 46b9f32ed10f0b724dd77852dbe450337f12f1f83123c75611b49ed2e7d1452f
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Advanced search - Content Library and API.pdf", "source_id": "6a313b0ce696b8a972bc6264fda83475645ecc33b312a8d8c42508cbaecd177c", "page_number": 2, "split_id": 1, "split_idx_start": 1910, "chroma:document": "allergycat&dog allergycat dog&allergyEach match contains all threeterms: \u201ccat\u201d, \u201cdog\u201d, and \u201callergy\u201d.Find matches that include atleast one of the provided searchterms.Use the OR operator expressedas a pipe character (|).cat | dogcat|dogcat |dogcat| dog\fEach match contains \u201ccat\u201d or\u201cdog\u201d, and could contain both.Find matches that include theprovided search term, excludinga second term.Use the NOT operatorexpressed as a hyphencharacter (-).dog -puppydog-puppydog- puppydog - puppyEach match contains \u201cdog\u201d butnot \u201cpuppy\u201d. Results containingboth \u201cdog\u201d and \u201cpuppy\u201d areexcluded.\nMultiple operatorsWhen multiple operators are included in a single query string, the operators are processed (parsed)in a specific order: NOT first, followed by AND, followed by OR. This is important to understandbecause it means the order in which you place the operators in your query might be di\ufb00erent fromthe order in which they are parsed, which might or might not a\ufb00ect the results.The examples in this section demonstrate the use of multiple operators in a single query.Search objectiveSearch objectiveHow to write itHow to write itExamplesExamplesFind matches that include bothof two search terms (ANDclause), as well as matches thatinclude a third term (OR clause).Use both an AND clause and anOR clause. The AND clause isparsed \ufb01rst.lemon lime | grapefruitgrapefruit | lemon limeResults include matchescontaining both \u201clemon\u201d and\f\u201clime\u201d, plus those containing\u201cgrapefruit\u201d.Find:1. Matches that contain onesearch term, excludingthose containing a secondterm, and2. Matches that contain athird termNote: Some matches might meetboth criteria 1 and 2, but to beincluded in the query results, theonly requirement is to match atleast one.Use both a NOT clause and anOR clause. The NOT clause isparsed \ufb01rst.fuyu | persimmon - astringentpersimmon - astringent | fuyuResults include:1. Matches containing\u201cpersimmon\u201d but not\u201castringent\u201d (imaginepersimmon - astringentgrouped as if inparentheses), and2. Matches containing \u201cfuyu\u201dSome matches might contain\u201cpersimmon\u201d but not \u201castringent\u201dand also contain \u201cfuyu\u201d(matching both 1 and 2 above),but this is not a requirement tobe included in the query results.Note: If you actually want "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: a6c83f41fe1a79b05f040a234cef142719cb3b72bdf39888420d9ecb6f06f6b3
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Advanced search - Content Library and API.pdf", "source_id": "6a313b0ce696b8a972bc6264fda83475645ecc33b312a8d8c42508cbaecd177c", "page_number": 4, "split_id": 2, "split_idx_start": 3806, "chroma:document": "not\u201castringent\u201d (imaginepersimmon - astringentgrouped as if inparentheses), and2. Matches containing \u201cfuyu\u201dSome matches might contain\u201cpersimmon\u201d but not \u201castringent\u201dand also contain \u201cfuyu\u201d(matching both 1 and 2 above),but this is not a requirement tobe included in the query results.Note: If you actually want toexclude \u201castringent\u201d from \u201cfuyu\u201das well, you could achieve thatusing grouping, a technique forcustomizing the order ofprecedence. See the nextsection on Grouping.Grouping\fYou can use grouping with parentheses to influence the order in which clauses are parsed. Clausesenclosed in parentheses are parsed first, followed by operators outside of parentheses.The examples shown here demonstrate how this works.Search objectiveSearch objectiveHow to write itHow to write itExamplesExamplesFind matches that contain atleast one of two search terms,excluding those that also containa third term.Use an OR clause enclosed inparentheses to ensure it isparsed \ufb01rst, followed by a NOTclause. Without the parentheses,the NOT clause would be parsed\ufb01rst.(fuyu | persimmon) - astringentResults include matchescontaining either \u201cfuyu\u201d or\u201cpersimmon\u201d (or both), butexclude those that also contain\u201castringent\u201d.Find matches that contain bothof two search terms or at leastone of two other search terms.Exclude from that list all resultsthat also contain a \ufb01fth searchterm.Use an AND clause inparentheses, and an OR clausein parentheses. Separate thetwo parenthetical clauses by anOR operator. Group those twogroupings together. Finally, addthe NOT clause.The extra grouping ensures that\"outlaw\" is not excluded onlyfrom the (newman | redford)results, but also from the (actionmovie) results.((action movie) | (newman |redford)) - outlawResults:Include matchescontaining both \u201caction\u201dand \u201cmovie\u201dInclude matchescontaining either\u201cnewman\u201d or \u201credford\u201d(can contain both)Exclude matches that alsocontain \u201coutlaw\u201dRight-to-left languagesA few notes about queries when applied to languages that are read right to left:\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitationsQuery logic for right-to-left languages is parsed right to leftThe parsing order (NOT followed by AND followed by OR) "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 31d43816be79603767f53ba6ac99c9ff9ba1e92bb42e10414d61cc1d9eb9634e
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Advanced search - Content Library and API.pdf", "source_id": "6a313b0ce696b8a972bc6264fda83475645ecc33b312a8d8c42508cbaecd177c", "page_number": 6, "split_id": 3, "split_idx_start": 5835, "chroma:document": "accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitationsQuery logic for right-to-left languages is parsed right to leftThe parsing order (NOT followed by AND followed by OR) is maintainedGrouping is not supported for right-to-left languages\f"}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 4241db4d3d288964e65dde8a8b52f84b80199cd10592bf621c75df0f485849c4
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Changelog - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "5e9d191108db34ec5780dc5c286f773652285d606e1e03a64ecf8b1e823cebef", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent Library APIChangelogSu questa PaginaMeta Content Library APIchangelogThe changelog lists product and documentation changes per release, in reverse chronologicalorder.Note: Meta Content Library API Version 4.0 is currently live through Meta\u2019s ResearcherPlatform. Version 4.0 is also available in the cleanroom environment provided by the Inter-university Consortium for Political and Social Research (ICPSR) at the University ofMichigan except as noted in the list below.\nVersion 4.0, July 25 2024Meta Content Library API v4.0 has been enhanced with the following new features:You can sort Facebook comments and fetch all comments (not just top-level replies). SeeGuide to Facebook comments data.Posts on Facebook surfaces can be distinguished between posts made by the surface ownerthemselves (i.e. a page posting to its own surface) and posts made to the surface by adi\ufb00erent producer.  Facebook posts data. Additionally:group_ids, event_ids, profile_ids and page_ids parameters are deprecated infavor of a unified surface_ids parameter which accepts any combination of previousparameters (An error is shown if you attempt to use a deprecated parameter.)admin_countries and owner_types are replaced with surface_countries andsurface_typesResearcher Platform only (not available in ICPSR cleanroom): You can share producer listsfrom the Meta Content Library UI and use them in the API.\fYou can see the producer username if it is available (including posts and comments ownerinformation).  public content made from Hong Kong and Australia. See Geographic scope formore information.You can sort Facebook and Instagram posts.  Facebook posts data and Guide toInstagram posts data.Facebook posts data includes the is_branded_content flag in addition tobranded_content_page_id. See Data dictionary.The citation format was updated with a new Digital Object Identifier (DOI) that specifiesversion 4.0. Older release DOIs are still available for reference. See Citations.Version 3.0, April 18 2024Meta Content Library API v3.0 has been enhanced with the following new features. Note that as ofAugust 15, 2024, Instagram comments are included in "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: fc16b6b407146bbdc1ba4c4570016df71aedd61fa940f949207bde1725d795b2
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Changelog - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "5e9d191108db34ec5780dc5c286f773652285d606e1e03a64ecf8b1e823cebef", "page_number": 2, "split_id": 1, "split_idx_start": 1908, "chroma:document": "that specifiesversion 4.0. Older release DOIs are still available for reference. See Citations.Version 3.0, April 18 2024Meta Content Library API v3.0 has been enhanced with the following new features. Note that as ofAugust 15, 2024, Instagram comments are included in version 3.0.You can perform Facebook profile searches by calling the Meta Content Library API clientsearch_facebook_profiles() method.  Facebook profiles data.You can fetch comments of a Facebook post or replies to a specific Facebook comment byleveraging Meta Content Library API entity client, using the edge(\u201ccomments\u201d) method. SeeGuide to Facebook comments data.You can fetch comments on an Instagram post or replies to a specific Instagram comment byleveraging Meta Content Library API client, by using the /comments endpoint. Instagram comments data.ID-based retrieval: This new feature allows you to fetch a Meta Content Library node by usingits Meta Content Library ID. We also support retrieval of edges to a node. See the ID-basedretrieval documentation.You can fetch more results from Instagram personal accounts as the threshold is reduced to25,000 followers.  Instagram accounts data and Guide to Instagram posts data.You can filter Facebook posts by their media type. Set the new media_types parameter to\fone or more available media types (like photos, videos etc).  Facebook postsdata.Instagram post data includes the name of the post owner.  mentions of eligible Facebook pages, profiles and Instagram accounts which areavailable in Meta Content Library API.The citation format was updated with a new Digital Object Identifier (DOI) that specifiesversion 3.0. Older release DOIs are still available for reference. See CitationsVersion 2.0, January 30 2024Meta Content Library API v2.0 has been enhanced with the following new features:You can search Facebook and Instagram posts by post ID. Use the post_ids parameter,specifying one or more post IDs that you obtained from a previous search. Facebook posts data and Guide to Instagram posts "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 0ec8d299ee992a3d31e24ee0102841cff04c126c3627fa59436a0f44736a3cbe
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Changelog - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "5e9d191108db34ec5780dc5c286f773652285d606e1e03a64ecf8b1e823cebef", "page_number": 3, "split_id": 2, "split_idx_start": 3682, "chroma:document": "been enhanced with the following new features:You can search Facebook and Instagram posts by post ID. Use the post_ids parameter,specifying one or more post IDs that you obtained from a previous search. Facebook posts data and Guide to Instagram posts data.A subset of Instagram personal accounts that match qualification criteria can be included inresults when you search for Instagram account information or for posts from Instagramaccounts. Public Instagram accounts include professional accounts for businesses andcreators. They also include a subset of personal accounts that have account privacy set topublic and have either a verified badge or 50,000 or more followers. A verified badge in thiscontext refers to accounts confirmed as authentic and not those with a paid Meta Verifiedsubscription.  Instagram accounts data and Guide to Instagram posts data.You can filter posts from Facebook Pages by the page admin\u2019s location country. Set the newadmin_countries parameter to include one or more country codes of your choice. SeeGuide to Facebook posts data.Multimedia (photos and videos) can be included in search post results for both Instagram andFacebook. This feature is only available if you are accessing the API in an approved third partycleanroom environment, and only if that environment supports retrieval of multimedia. Thefeature is not available in Researcher Platform.  Facebook posts data and Guideto Instagram posts data.The citation format was updated with a new Digital Object Identifier (DOI) that specifiesversion 2.0. Older release DOIs are still available for reference. See Citations.\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesAppendixSupportDisclosures and DisclaimersCitationsVersion 1.0 update, December 15 2023The following changes were implemented:Search quality metrics were updated/improved. See Search quality approach.Due to the improved search quality, the \"beta\" designation on version 1.0 was removed.The citation format was updated with a new Digital Object Identifier (DOI) that does notinclude a beta designation. See Citations."}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7f1a4d00ec9aa80dff936c7db9775130f1837180746f674ae9b70823576b0de3
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Citations - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "1ac1fa373d6ce40d7d9300257c01c45d1102cfc4b65f944a06e827f0f7c8ec9d", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APICitationsSu questa PaginaCitationsEach release of each product has a registered Digital Object Identifier (DOI) included in the citationformats we provide on this page. It is important that you cite the product(s) and Meta when usingour data.\n API version v4.0Citation formatMeta Platforms, Inc., (Month Accessed, Year Accessed).  API version v4.0https://doi.org/10.48680/meta.metacontentlibraryapi.4.0.Abstract API is an API for querying and analyzing Meta's full historical public contentarchive, supporting data analysis in Python and R in the Meta Researcher Platform, a secure digitalclean room.KeywordsMeta, Facebook, Instagram, social media, Facebook Pages, Facebook groups, Facebook events,Facebook posts, Facebook profiles, Facebook comments, Instagram accounts, Instagram posts,Instagram comments, Instagram creator accounts, Instagram business accounts, Instagrampersonal accounts, reelsProduct limitationsPlease see:\fSearch quality approachFrequently asked questions version v4.0Citation formatMeta Platforms, Inc., (Month Accessed, Year Accessed).  version v4.0https://doi.org/10.48680/meta.metacontentlibrary.4.0.Abstract is a web-based tool that allows researchers to explore and understand dataacross Facebook and Instagram by o\ufb00ering a comprehensive, visual, searchable collection ofpublicly accessible content.KeywordsMeta, Facebook, Instagram, social media, Facebook Pages, Facebook groups, Facebook events,Facebook posts, Facebook profiles, Facebook comments, Instagram accounts, Instagram posts,Instagram comments, Instagram creator accounts, Instagram business accounts, Instagrampersonal accounts, reelsProduct limitationsPlease see:Search quality approachFrequently asked questionsCitations for earlier releases\fThe citation formats in the following table pertain to earlier releases of  andAPI, and are provided here for reference in reverse chronological order.Product andProduct andversionversionCitation formatCitation formatNotesNotesMeta ContentLibrary APIversion v3.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API version v3.0https://doi.org/10.48680/meta.metacontentlibraryapi.3.0Replaced by ver.4.0 on 7/25/2024Meta ContentLibrary versionv3.0Meta Platforms, Inc., (Month Accessed, Year Accessed). version v3.0https://doi.org/10.48680/meta.metacontentlibrary.3.0Replaced by ver.4.0 on 7/25/2024Meta ContentLibrary APIversion v2.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API version v2.0https://doi.org/10.48680/meta.metacontentlibraryapi.2.0Replaced by ver.3.0 on 4/18/2024Meta ContentLibrary versionv2.0Meta Platforms, Inc., (Month Accessed, Year Accessed). version v2.0https://doi.org/10.48680/meta.metacontentlibrary.2.0Replaced by ver.3.0 on 4/18/2024Meta ContentLibrary APIversion v1.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API version v1.0https://doi.org/10.48680/meta.metacontentlibraryapi.1.0Replaced by ver.2.0 on 1/30/2024Meta ContentLibrary versionv1.0Meta Platforms, Inc., (Month "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: ed929d6cfb9f7c594862289b33537e8e00750ec227541b075b862c1947cbeca8
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Citations - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "1ac1fa373d6ce40d7d9300257c01c45d1102cfc4b65f944a06e827f0f7c8ec9d", "page_number": 3, "split_id": 1, "split_idx_start": 2472, "chroma:document": "v2.0https://doi.org/10.48680/meta.metacontentlibraryapi.2.0Replaced by ver.3.0 on 4/18/2024Meta ContentLibrary versionv2.0Meta Platforms, Inc., (Month Accessed, Year Accessed). version v2.0https://doi.org/10.48680/meta.metacontentlibrary.2.0Replaced by ver.3.0 on 4/18/2024Meta ContentLibrary APIversion v1.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API version v1.0https://doi.org/10.48680/meta.metacontentlibraryapi.1.0Replaced by ver.2.0 on 1/30/2024Meta ContentLibrary versionv1.0Meta Platforms, Inc., (Month Accessed, Year Accessed). version v1.0https://doi.org/10.48680/meta.metacontentlibrary.1.0Replaced by ver.2.0 on 1/30/2024Meta ContentLibrary API betaversion v1.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API Beta version v1.0https://doi.org/10.48680/meta.metacontentlibraryapibetaversionv1.0Replaced by ver.1.0 on 12/15/2023Meta ContentMeta Platforms, Inc., (Month Accessed, Year Accessed).Replaced by ver.\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIAppendixSupportDisclosures and DisclaimersCitationsLibrary betaversion v1.0 Beta version v1.0https://doi.org/10.48680/meta.metacontentlibrarybetaversionv1.01.0 on 12/15/2023Researcher APIearly beta 0.6Data from Facebook Open Research and TransparencyTeam Researcher API 0.6, data points from all publicFacebook Pages, groups, events, and post-level Facebookdata from the US and select EU countrieshttps://doi.org/10.48680/meta.researcherapi.0.6This precursorproduct will bedeprecated as of1/31/2024"}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 373df9172e48261b15b0d21455424e3757184069fde4dcfd3497940bc4f82af6
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Citations - Content Library and API.pdf", "source_id": "68e37a0593de8de7d691f798f9067327017dcc21b8d17464731a74ea7c2f9708", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APICitationsSu questa PaginaCitationsEach release of each product has a registered Digital Object Identifier (DOI) included in the citationformats we provide on this page. It is important that you cite the product(s) and Meta when usingour data.\n API version v4.0Citation formatMeta Platforms, Inc., (Month Accessed, Year Accessed).  API version v4.0https://doi.org/10.48680/meta.metacontentlibraryapi.4.0.Abstract API is an API for querying and analyzing Meta's full historical public contentarchive, supporting data analysis in Python and R in the Meta Researcher Platform, a secure digitalclean room.KeywordsMeta, Facebook, Instagram, social media, Facebook Pages, Facebook groups, Facebook events,Facebook posts, Facebook profiles, Facebook comments, Instagram accounts, Instagram posts,Instagram comments, Instagram creator accounts, Instagram business accounts, Instagrampersonal accounts, reelsProduct limitationsPlease see:\nVISITATI DI RECENTESupport - Content Library and APIQuick links - Content Library and APIGet access - Content Library and APIContent Library and APIGet Help - Content Library and APIVISUALIZZA TUTTI I DOCUMENTI\fSearch quality approachFrequently asked questions version v4.0Citation formatMeta Platforms, Inc., (Month Accessed, Year Accessed).  version v4.0https://doi.org/10.48680/meta.metacontentlibrary.4.0.Abstract is a web-based tool that allows researchers to explore and understand dataacross Facebook and Instagram by o\ufb00ering a comprehensive, visual, searchable collection ofpublicly accessible content.KeywordsMeta, Facebook, Instagram, social media, Facebook Pages, Facebook groups, Facebook events,Facebook posts, Facebook profiles, Facebook comments, Instagram accounts, Instagram posts,Instagram comments, Instagram creator accounts, Instagram business accounts, Instagrampersonal accounts, reelsProduct limitationsPlease see:Search quality approachFrequently asked questionsCitations for earlier releases\fThe citation formats in the following table pertain to earlier releases of  andAPI, and are provided here for reference in reverse chronological order.Product andProduct andversionversionCitation formatCitation formatNotesNotesMeta ContentLibrary APIversion v3.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API version v3.0https://doi.org/10.48680/meta.metacontentlibraryapi.3.0Replaced by ver.4.0 on 7/25/2024Meta ContentLibrary versionv3.0Meta Platforms, Inc., (Month Accessed, Year Accessed). version v3.0https://doi.org/10.48680/meta.metacontentlibrary.3.0Replaced by ver.4.0 on 7/25/2024Meta ContentLibrary APIversion v2.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API version v2.0https://doi.org/10.48680/meta.metacontentlibraryapi.2.0Replaced by ver.3.0 on 4/18/2024Meta ContentLibrary versionv2.0Meta Platforms, Inc., "}


created_at: 2024-11-07 15:52:12
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: b8f0c74b2ffedeb556a4b6ed9febb54369448341052196c7f6faac26a8ef393d
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Citations - Content Library and API.pdf", "source_id": "68e37a0593de8de7d691f798f9067327017dcc21b8d17464731a74ea7c2f9708", "page_number": 3, "split_id": 1, "split_idx_start": 2300, "chroma:document": "version v3.0https://doi.org/10.48680/meta.metacontentlibraryapi.3.0Replaced by ver.4.0 on 7/25/2024Meta ContentLibrary versionv3.0Meta Platforms, Inc., (Month Accessed, Year Accessed). version v3.0https://doi.org/10.48680/meta.metacontentlibrary.3.0Replaced by ver.4.0 on 7/25/2024Meta ContentLibrary APIversion v2.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API version v2.0https://doi.org/10.48680/meta.metacontentlibraryapi.2.0Replaced by ver.3.0 on 4/18/2024Meta ContentLibrary versionv2.0Meta Platforms, Inc., (Month Accessed, Year Accessed). version v2.0https://doi.org/10.48680/meta.metacontentlibrary.2.0Replaced by ver.3.0 on 4/18/2024Meta ContentLibrary APIversion v1.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API version v1.0https://doi.org/10.48680/meta.metacontentlibraryapi.1.0Replaced by ver.2.0 on 1/30/2024Meta ContentLibrary versionv1.0Meta Platforms, Inc., (Month Accessed, Year Accessed). version v1.0https://doi.org/10.48680/meta.metacontentlibrary.1.0Replaced by ver.2.0 on 1/30/2024Meta ContentLibrary API betaversion v1.0Meta Platforms, Inc., (Month Accessed, Year Accessed). API Beta version v1.0https://doi.org/10.48680/meta.metacontentlibraryapibetaversionv1.0Replaced by ver.1.0 on 12/15/2023Meta ContentMeta Platforms, Inc., (Month Accessed, Year Accessed).Replaced by ver.\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIAppendixSupportDisclosures and DisclaimersCitationsLibrary betaversion v1.0 Beta version v1.0https://doi.org/10.48680/meta.metacontentlibrarybetaversionv1.01.0 on 12/15/2023Researcher APIearly beta 0.6Data from Facebook Open Research and TransparencyTeam Researcher API 0.6, data points from all publicFacebook Pages, groups, events, and post-level Facebookdata from the US and select EU countrieshttps://doi.org/10.48680/meta.researcherapi.0.6This precursorproduct will bedeprecated as of1/31/2024"}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: a4d9299d2ea823db4ca9201fc336154c92399e7130a770342441ce8f2fc04604
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent LibrarySu questa PaginaMeta Content LibraryMeta Content Library has a web-based user interface in which to explore data, test out searchparameters, and assess whether the resulting data is appropriate for your planned research. Noknowledge of query or programming languages is needed.Meta Content Library API is a complementary API product that allows researchers toprogrammatically pull data from the same public content library.\nIntroductionContent Library is a web-based tool that allows researchers to explore and understand data acrossFacebook and Instagram by o\ufb00ering a comprehensive, visual, and searchable collection of publiclyaccessible 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.Scope of included dataWhen you enter a query, you can select which platform you\u2019d like to search (Facebook, Instagram orThreads). For Facebook and Instagram, you can then select to search either the view-only publicdataset or the downloadable public data subset.FacebookPublic data available in Meta Content Library (view-only)Data includes the following publicly accessible content:\fPosts on public Pages, public groups, public eventsPosts on public profiles with a verified badge or 1,000 or more followersInformation about public Pages, public groups, public events and public profiles that meetthe above criteriaDownloadable public data (from widely-known individuals and organizations)Data includes the following publicly accessible content:Posts from public Pages with 15,000 or more likes or 15,000 or more followersPosts from public profiles with a verified badge or 25,000 or more followersInformation about public Pages and public profiles that meet the above criteriaPublic 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 topublic with a verified badge or 25,000 or more followers. A verified badge in this context refers toaccounts confirmed as authentic and not "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 78e25b0efb512f43508b375809f72c6207aa9e152bcbe0b44e8f245b14ae391f
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 2, "split_id": 1, "split_idx_start": 1902, "chroma:document": "experience.To be included in the downloadable public dataset, profiles must not be locked and must be set topublic with a verified badge or 25,000 or more followers. A verified badge in this context refers toaccounts confirmed as authentic and not those with a paid Meta Verified subscription. Learn moreabout 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 SocialResearch (ICPSR) has approved your Meta Content Library application and you haveconsented to the Product Terms for Meta Research Tools.InstagramPublic data available in Meta Content Library (view-only)Data includes the following publicly accessible content:Posts from public business accounts and public creator accountsPosts from personal accounts set to public with 1,000 or more followers\fInformation about public Instagram accounts that meet the above criteriaDownloadable public data (from widely-known individuals and organizations)Data includes the following publicly accessible content:Posts from public business and public creator accounts with a verified badge or 25,000 ormore followersPosts from personal accounts set to public with a verified badge or 25,000 or more followersInformation about public Instagram accounts that meet the criteria abovePublic Instagram accounts include professional accounts for businesses and creators. They alsoinclude 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 paidMeta Verified subscription. Learn more about verified badges.Note: Downloads are only available if the Inter-university Consortium for Political and SocialResearch (ICPSR) has approved your Meta Content Library application and you haveconsented to the Product Terms for Meta Research Tools.ThreadsData includes the following publicly accessible content:Posts shared by public profiles with 1,000 or more followersInformation about public profilesNote: Threads content is a newly added data type in Meta Content Library. Data "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 896120598f8c70a5eb0343d4a72e8d61afb924b16316ead808ba62593f5d2384
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 3, "split_id": 2, "split_idx_start": 3825, "chroma:document": "haveconsented to the Product Terms for Meta Research Tools.ThreadsData includes the following publicly accessible content:Posts shared by public profiles with 1,000 or more followersInformation about public profilesNote: Threads content is a newly added data type in Meta Content Library. Data quality mayhave significant variation as the dataset on MCL is still in active development. Threadscontent is not available for download while this dataset is in development.Geographic scopePublic data from public Facebook Pages, groups, events and profiles, and from public Instagram\faccounts and Threads profiles from most countries/territories. Public data/content will be excludedfrom these countries:ChinaNorth KoreaSouth KoreaTogoThis means that:\ue450. At least one admin of a public Facebook Page, group, event or profile must have a statedlocation 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 profilemust have a primary country or region that is in a non-excluded country or region forinformation about that account or profile to be accessible.\ue451. Of the Facebook Pages, groups, events, profiles, Instagram accounts and Threads profilesthat qualify based on #1, only posts made by users in non-excluded countries/territories are inscope.Language scopeSearch results in all languages are included unless the search is filtered based on language.Components of a Facebook postPost reactions: Number of reactions on the post.Post comments: Number of comments on the post. Comments on the post can be accessedby clicking the View comments link. This includes comments from all producers whoresponded 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 thepost owner\u2019s 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 "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 807dc164b9a21751039c315beb8cd8488a57771ea0e61ceb4d0aa3de21f6979f
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 4, "split_id": 3, "split_idx_start": 5632, "chroma:document": "was on screen, not including times it appeared on thepost owner\u2019s 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\fvalue if there were fewer than 100 views as of the last refresh. View counts for posts createdwithin the last 180 days are refreshed approximately every 24 hours, provided the post hasaccumulated more than 10 views within that 24 hour period. If not, view counts are refreshedevery 5-7 days. View counts for posts created more than 180 days ago are refreshed every 5-7days. 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 a post. Activity types include streaming orplaying (of a gaming video).Post activity name: Name of the activity represented in a post. For example, if the activitytype 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 thePage 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.Components of an Instagram postPost likes: Number of like reactions on the post.Post comments: Number of comments on the post. Comments on the post can be accessedby clicking the View comments link. This includes comments from all producers whoresponded to the post.Post views: Number of times the post was on screen, not including times it appeared on thepost "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 824d86102679b18e4f907f68381e04f3ba2e5253fc020bb6626a129004688234
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 5, "split_id": 4, "split_idx_start": 7214, "chroma:document": "the post. Comments on the post can be accessedby clicking the View comments link. This includes comments from all producers whoresponded to the post.Post views: Number of times the post was on screen, not including times it appeared on thepost owner\u2019s 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 countvalue if there were fewer than 100 views as of the last refresh. View counts for posts created\fwithin the last 180 days are refreshed approximately every 24 hours, provided the post hasaccumulated more than 10 views within that 24 hour period. If not, view counts are refreshedevery 3-5 days. View counts for posts created more than 180 days ago are refreshed every 3-5days. View counts are not available for posts made before October 1, 2022. Note that thismetric di\ufb00ers from the Views metric displayed on Instagram, which measures the number oftimes a reel started to play and the number of times a non-reel displayed on a person\u2019sscreen.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.Components of a Threads postPost likes: Number of like reactions on the post.Post replies: Replies on the post, including replies to previous replies. Replies on the post canbe accessed by clicking the View replies link. This includes replies from all producers whoresponded 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 thepost owner\u2019s screen. For original posts, view counts include views of the post itself but do notinclude views "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: aaf9570e3757a7e27fe02f3b960310e5e9f49f08f2751527ce86ae426ee34674
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 6, "split_id": 5, "split_idx_start": 8827, "chroma:document": "Number of times the content was reposted.Post views: Number of times the post was on screen, not including times it appeared on thepost owner\u2019s screen. For original posts, view counts include views of the post itself but do notinclude views of reposts or quotes of the post. For quotes, view counts include views of thequote but do not include views of the original post or reposts. For replies, view countsinclude views of the reply but do not include views of the original post, quotes or reposts. Forvideo posts, views are counted whether the video was played or not. Only posts with morethan 100 views display the view count. A post displays no view count value if there werefewer than 100 views as of the last refresh. View counts for posts created within the last 180days are refreshed every 24 hours, provided the post has accumulated more than 10 viewswithin a 24 hour period after September 17, 2024. View counts for posts created more than180 days ago are refreshed every 2 days. View counts are not available for posts created\fbefore 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.\nSupported search optionsSearching by URL, keyword or exact phrase is supported. Search is case insensitive. Additionalinformation regarding searches is available in Advanced search.Supported keyword search methodSupported keyword search methodExampleExampleBoolean search using &, |, -taco & pizza, taco | pizza, taco -pizzaAll of these wordstaco pizza bread (space interpreted as &)Any of these wordstaco | pizza | breadExclude these wordspizza-anchovies, pizza -anchoviesGroup multiple keywords(taco "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 99ae3a42e5bbeab7b1dec3b3540f2e147792256e85ce100ef2ae4759e8939257
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 7, "split_id": 6, "split_idx_start": 10452, "chroma:document": "keyword search methodSupported keyword search methodExampleExampleBoolean search using &, |, -taco & pizza, taco | pizza, taco -pizzaAll of these wordstaco pizza bread (space interpreted as &)Any of these wordstaco | pizza | breadExclude these wordspizza-anchovies, pizza -anchoviesGroup multiple keywords(taco | pizza) & (love)Hashtag#pizzasauce\fURL shared in contenthttps://www.youtube.com/Phrase (5 words and under)\u201ci love pizza\u201dPhrase and boolean combined search\u201ci love tacos\u201d & \u201ci love pizza\u201d \u201ci love tacos\u201d | \u201ci lovepizza\u201dUnsupported keyword search methodUnsupported keyword search methodExampleExampleBoolean search by using AND, OR, NOTtaco AND pizza, taco OR pizza, taco NOT pizzaTags only@pizzasauceURL of posthttps://www.facebook.com/Meta/videos/101/None of these words-pizza - anchovies\nSupported filtering optionsNote: You can clear all filters by clicking the Reset filters (arrows in a circle) button in thetop menu bar (hover over the button to view the label).FacebookFilterFilterOptions availableOptions availableDate rangeResults include those postedwithin the speci\ufb01ed time frame.Select a date range or view content from all time.\fPost surfaceResults include those posted fromthe speci\ufb01ed endpoints.Select one or more:Pro\ufb01les: Posts that appear on pro\ufb01les set to public with averi\ufb01ed badge or 25,000 or more followers (fordownloadable public data) or 1,000 or more followers (forview-only data)Pages: Posts that appear on public Pages, posted byanyoneEvents: Posts that appear on public events, posted byanyoneGroups: Posts that appear on public groups, posted byanyoneNote: To be included, pro\ufb01les must not be locked and must be setto public with a veri\ufb01ed badge or 25,000 or more followers (fordownloadable public data) or 1,000 or more followers (for view-only data). A veri\ufb01ed badge in this context refers to accountscon\ufb01rmed as authentic and not those with a paid Meta Veri\ufb01edsubscription.The usernames of post owners will only be displayed if theirpro\ufb01les meet the above criteria.Post surface countryResults include Pages with at leastone admin in the speci\ufb01edlocation. Only available when youselect Pages in the Post surface\ufb01lter.Over 250 locations are available listed in alphabetical order. Selectone "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: bf2dd3cc2d63359df9339f6dbf69d5895b3658a7990a3c90f625779fad16c7c4
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 9, "split_id": 7, "split_idx_start": 12388, "chroma:document": "owners will only be displayed if theirpro\ufb01les meet the above criteria.Post surface countryResults include Pages with at leastone admin in the speci\ufb01edlocation. Only available when youselect Pages in the Post surface\ufb01lter.Over 250 locations are available listed in alphabetical order. Selectone or more. An option to \"select all\" is also provided.\nProducerResults include those originatingfrom producers that match thespeci\ufb01ed search term.Search for and select the public Pages, groups, events or pro\ufb01lesthat posted the content. You can also select producer lists youpreviously created.Searches for producers will return all posts made to the Page,\fgroup, event or pro\ufb01le but not posts made by the producer to otherPages, groups, events or pro\ufb01les.For pro\ufb01les, only posts made by a user to their own pro\ufb01le areavailable.LanguageResults include those in theselected languages.Over 180 languages are available, listed in alphabetical order.Select one or more. An option to \u201cselect all\u201d is also provided.Content typeResults include the selectedcontent types.Select one or more:Albums: Includes posts with more than one photo or videoPhotos: Includes posts with a single photoVideos and reels: Includes posts with a single video(including a gaming video) or reelStory highlights: Includes stories added to highlights (Storyhighlights are available after they have been live for morethan 48 hours.)Miscellaneous: Includes links and resharesViewsThe number of times the post wason screen, not including times itappeared on the post owner\u2019sscreen. For video posts, views arecounted whether the video wasplayed or not.A slide bar is provided to specify a range of views from 0 to themaximum of more than 100 million.\nBranded contentContent for which the creator hasSelect one:Include branded content\fbeen compensated, eithermonetarily or with something elseof value, by a business partner.Ads are not included as part ofbranded content.Exclude branded contentBranded content only\nInstagramFilterFilterOptions availableOptions availableDate rangeResults include those postedwithin the speci\ufb01ed time frame.Select a date range or view content from all time.\nAccount typeResults include those posted fromthe "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 845f4248aea687304a0a11d0d354d7f7e7337e9a2c024b615c8a88735740f8df
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 11, "split_id": 8, "split_idx_start": 14239, "chroma:document": "value, by a business partner.Ads are not included as part ofbranded content.Exclude branded contentBranded content only\nInstagramFilterFilterOptions availableOptions availableDate rangeResults include those postedwithin the speci\ufb01ed time frame.Select a date range or view content from all time.\nAccount typeResults include those posted fromthe speci\ufb01ed endpoints.Select one or more:Personal: Accounts set to public with a veri\ufb01ed badge or25,000 or more followers (for downloadable public data) or1,000 or more followers (for view-only data)Business: Accounts with access to tools to grow and reachcustomersCreator: Accounts for content creators, artists andin\ufb02uencersNote: The Personal \ufb01lter includes Instagram pro\ufb01les set up aspersonal accounts, not professional accounts. To be included anaccount must be set to public, not private, meaning anyone onInstagram can see posts and videos on the account\u2019s pro\ufb01le. Inaddition, the account must have either a veri\ufb01ed badge or 25,000or more followers (for downloadable public data) or 1,000 or morefollowers (for view-only data). A veri\ufb01ed badge in this contextrefers to accounts con\ufb01rmed as authentic and not those with apaid Meta Veri\ufb01ed subscription.\fProducerResults include those originatingfrom producers that match thespeci\ufb01ed search term.Search for and select the public accounts that posted the content.You can also select producer lists you previously created.\nLanguageResults include those in theselected languages.Over 180 languages are available, listed in alphabetical order.Select one or more. An option to \u201cselect all\u201d is also provided.Content typeResults include the selectedcontent types.Select one or more:Albums: Includes posts with more than one photo or videoPhotos: Includes posts with a single photoVideos and reels: Includes posts with a single video or reelStory highlights: Includes stories added to highlights (Storyhighlights are available after they have been live for morethan 48 hours.)ViewsThe number of times the post wason screen, not including times itappeared on the post owner\u2019sscreen. For video posts, views arecounted whether the video wasplayed or not.A slide bar is provided to specify a range of views "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 5afa5a846964fef8264256000ea8b59ec56b8a96eb9c6312eeccbeecb0f33f60
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 12, "split_id": 9, "split_idx_start": 16178, "chroma:document": "for morethan 48 hours.)ViewsThe number of times the post wason screen, not including times itappeared on the post owner\u2019sscreen. For video posts, views arecounted whether the video wasplayed or not.A slide bar is provided to specify a range of views from 0 to themaximum of more than 100 million.\nBranded contentContent for which the contentcreator has been compensated,either monetarily or withsomething else of value, by aSelect one:Include branded contentExclude branded contentBranded content only\fbrand partner. Ads are notincluded as part of brandedcontent.ThreadsFilterFilterOptions availableOptions availableDate rangeResults include those postedwithin the speci\ufb01ed time frame.Select a date range or view content from all time.\nLanguageResults include those in theselected languages.Over 180 languages are available, listed in alphabetical order.Select one or more. An option to \u201cselect all\u201d is also provided.ProducerResults include those originatingfrom producers that match thespeci\ufb01ed search term.Search for and select the public accounts that posted the content.You can also select producer lists you previously created.\nPost typeResults include the selected typesof post.Select one or more:Original posts: The content that starts a thread.Replies: Responses to other posts.Quotes: Posts with another post attached and text or mediaadded. (Note: Keyword searches will only apply to the text ofthe additional commentary, not the quoted existing post.)Posts by public pro\ufb01les with more than 1,000 followers are\fincluded in the searchable data.Reposts are not a supported post type.Content typeResults include the selectedcontent types.Select one or more:Albums: Includes posts with more than one photo or videoPhotos: Includes posts with a single photoVideos: Includes posts with a single videoViewsThe number of times the post wason screen, not including times itappeared on the post owner\u2019sscreen. For video posts, views arecounted whether the video wasplayed or not.A slide bar is provided to specify a range of views from 0 to themaximum of more than 10 million. If the views \ufb01lter is applied,posts without a view count available "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 1e23ef0b596206ea2ab4cc8445727e1106895a8bd753599e9d1d5a878cf6f208
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 14, "split_id": 10, "split_idx_start": 18092, "chroma:document": "video posts, views arecounted whether the video wasplayed or not.A slide bar is provided to specify a range of views from 0 to themaximum of more than 10 million. If the views \ufb01lter is applied,posts without a view count available are not displayed.\nBranded contentContent for which the producerhas been compensated, eithermonetarily or with something elseof value, by a brand partner. Adsare not included as part ofbranded content.Select one:Include branded contentExclude branded contentBranded content only\nSearch text in imagesYou can search for text in images posted on Facebook or Instagram within approximately the last90 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\flabel 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 Contenttype filter. For Instagram, text in image search is also available for photos shared as storyhighlights.Phrase matches aren\u2019t available for text in image search.There may be reduced data quality for text matching on images.Supported viewing optionsSearch results can be shown in card view or in table view. You can switch between these viewoptions 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 largenumber of posts on the same page. You can click the See more link following the post text previewto display more of the post\u2019s content.Supported sorting optionsYou have the following sorting options for search results:The date the post was made, from most to least recentThe date the post "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 507b5a9985c1954fd96a89d84531cecce9e8e621640e8e9723591deed204ed6b
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 15, "split_id": 11, "split_idx_start": 19734, "chroma:document": "can click the See more link following the post text previewto display more of the post\u2019s content.Supported sorting optionsYou have the following sorting options for search results:The date the post was made, from most to least recentThe date the post was made, from least to most recentThe number of views the post received, from highest to lowest (default sorting)Save your searchesSave your specified search parameters for future use by clicking the Save search button on the topmenu bar (hover over the button to view the label).Then enter a name for your search and click Save.\fSaved searches are available on your Home page (left menu bar). Click the corresponding Viewbutton to select a saved search. You have the option to display your saved searches with the mostrecent or the least recent at the top of the list.Share your searchesClick the Share search button on the top menu bar to copy your search to share with others (hoverover the button to view the label).Create producer listsCreate custom producer lists (available only to you) for quick reuse in your searches. Start byclicking Producer lists in the left menu bar, then Create list. Select if you would like to create a newlist or import from a CSV file. Give the list a name and specify Facebook or Instagram.If you\u2019ve selected to upload a list of producers, choose the CSV file to upload. The file should onlycontain producer URLs and be in the correct format. You can add a maximum of 1,000 producers toa list. After the file format is validated, you can click Create list. If matches for any producers arenot found, you\u2019ll see a list of the producers that have not been added. Click Done. You will then seethe list of the producers that have been added to the list.Click +Add producers to "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: e4a66517d4cbc4d0cceac0f4004073fb275743472a3fb4440fc0f3e31db6b903
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 16, "split_id": 12, "split_idx_start": 21274, "chroma:document": "list. If matches for any producers arenot found, you\u2019ll see a list of the producers that have not been added. Click Done. You will then seethe 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, specifyPages, groups, events or profiles. For Instagram, all available producers are public accounts. Youcan select from view-only and downloadable producers when creating your lists. View-onlyproducers will be excluded if you search downloadable public data. Once you have selected theproducers for the list, click Done.All custom producer lists are available on your Producer lists page in the left menu bar.Share your producer listsWhen 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 MetaContent Library and have the same account type as you.\fCreate API list ID generates an ID which can be used in the API to view the producer list inthe API. Note: This feature is only available from version 4.0 onwards, and only in ResearcherPlatform.\nSee Share producer lists for complete instructions.Import producer lists shared with youYou can import producer lists shared with you for quick reuse in your searches. Start by copyingthe shared link into your browser\u2019s address bar. You will see a modal with the list name and includedproducers. Click Add to my lists to include on your Producer lists page.Download dataIf you select the downloadable public data subset for Facebook or Instagram when you search,you\u2019ll see a Download CSV button above your search results. Threads content is not available fordownload as this dataset is in active development.\fNote: Downloads are only available if the Inter-university Consortium for Political and SocialResearch (ICPSR) has approved your Meta Content Library "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7285a4d10d6705084d67016543ef1388da95f34636454d9e046ab5673d4f050f
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 17, "split_id": 13, "split_idx_start": 22886, "chroma:document": "a Download CSV button above your search results. Threads content is not available fordownload as this dataset is in active development.\fNote: Downloads are only available if the Inter-university Consortium for Political and SocialResearch (ICPSR) has approved your Meta Content Library application and you haveconsented 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 bedownloaded. If your search has returned more than 100,000 results, you\u2019ll need to refine yourquery to reduce the number of results. You can continue to modify the search filters until thesearch results are under the maximum allowed for download.After you have refined your search, you\u2019ll be able to click the Download CSV button. Then a modalwill display the search criteria used in your query. Note that results will be sorted newest to oldestin the downloaded CSV file, regardless of which sorting option you have applied when viewing thecontent. You\u2019ll be prompted to enter a file name, and then you\u2019ll be able to click to start thedownload.Once your file is ready for download, go to Downloads in the left menu bar. All of the files you haverequested to download are listed on this page, and you\u2019ll be able to see which are ready fordownload and which are being prepared.Select a file to download to your local machine. You can download up to 10 CSV files per day, withup to 100,000 search results per CSV file.Get API code featureNote: This feature is only available if you are using Content Library API in ResearcherPlatform.Capture your current search in the form of Python or R code. Paste the code into Meta ContentLibrary API to retrieve search results you can "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 2bcf4bf5f1a1346672c28d0eac9a2313a1d782cec0185a4edcdd6c4544722857
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 18, "split_id": 14, "split_idx_start": 24467, "chroma:document": "code featureNote: This feature is only available if you are using Content Library API in ResearcherPlatform.Capture your current search in the form of Python or R code. Paste the code into Meta ContentLibrary 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 (suchas VPN access needed). In the codeblock, click the tab corresponding to your language preference(R or Python):\fNoteThe language (R or Python) must correspond to the language of the Jupyter notebook intowhich you paste the code.Be sure to note the size of your search results (above the results on the search page) before you usethe same search in Content Library API. Search results greater than 100,000 will return an error inthe API. See Get API Code for complete instructions.Trends in posts createdThe Trends in posts created graph shows how often content matching your search keywords wasposted on Facebook, Instagram or Threads within your chosen date range. It's important to notethat 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, thenmultiplying by 100 and rounding to the nearest whole number. A value of 50 indicates that the postfrequency is half of the highest recorded, while a value of 0 suggests insu%icient data for the query.\fThese graphs are estimations, meant to assist researchers in spotting patterns and trends in postvolume. Normalization ensures consistency and comparability across various queries andexperiments, allowing researchers to concentrate on relative di\ufb00erences and easily spot periodswith the highest or lowest post volumes.When you hover "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7e91248fc19a429dc809e1242bb591f4deb63c37699f752c9cb37f8f15b3755d
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 20, "split_id": 15, "split_idx_start": 26070, "chroma:document": "estimations, meant to assist researchers in spotting patterns and trends in postvolume. Normalization ensures consistency and comparability across various queries andexperiments, allowing researchers to concentrate on relative di\ufb00erences and easily spot periodswith the highest or lowest post volumes.When you hover over the graph, a number appears showing the change compared to the previousday, week, or month, based on your chosen date range. The data points are daily for ranges under270 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 di\ufb00erence between the current and previous values,dividing by the previous value, and then multiplying by 100. It displays as N/A if the previous valueis 0 or unavailable.DashboardsYou can create custom dashboards to display post feeds and trend charts based on selectedkeywords or producers. Learn more about dashboardsAdditional informationThe search index only searches raw text of content from public Pages, groups, and events. Itdoes not search metadata of photos, full URL matches, or comments. Occasionally resultswill match terms that are semantically related to a query term, or contain the query term as asubstring. 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 necessarilyrepresentative of all Facebook, Instagram or Threads posts on the search term in the specifictimeframe of the query.The top 1,000 search results can di\ufb00er slightly day to day, not only due to newly createdcontent but also because post owners might have deleted the content or modified theprivacy settings.Newly created Facebook profiles, Instagram accounts or Threads profiles, and contentposted by these newly created profiles and accounts may not be included in Meta ContentLibrary for up to 4 days.\fGrouping multiple keywords in querying "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: a8dbf200cad1203a42e0df5541c629ae8de2ac2269c4d6153125b9c53c78336c
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 20, "split_id": 16, "split_idx_start": 27795, "chroma:document": "deleted the content or modified theprivacy settings.Newly created Facebook profiles, Instagram accounts or Threads profiles, and contentposted by these newly created profiles and accounts may not be included in Meta ContentLibrary for up to 4 days.\fGrouping multiple keywords in querying the data is not supported for languages that are readright-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 APIcombined per 7-day rolling window.Results in downloaded CSV files from Content Library will be counted towards your 500,000total search results limit.DisclosuresData governance and sources described in Search quality may change from time to time and themetrics presented may not be representative of current operations at Meta. Due to issues such aserroneously logging the data sources from which the metrics are created, the metrics may su\ufb00erfrom fluctuating data quality and incompleteness, which may lead to fluctuating accuracy. In theSearch quality document, we disclose known fluctuations where possible. Individuals usingFacebook and Instagram data are responsible for conducting standard and thorough data cleaningprocesses, and are responsible for ensuring that their analyses are accurate. It is expected theremay be issues with the data when conducting their analysis. We encourage individuals to share anyfindings with us. This may include, but is not necessarily limited to, data quality, validity, or fidelityissues. Given the historical nature of the data and lapsed retention periods, we may not be able tofix the issues identified, but in such cases we will work to disclose them. Please reach out to usthrough Direct Support.DisclaimersMeta 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 ofdata released and the imperfection of any quality assurance process, inaccuracies persist. Metamakes no representation or warranty, "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7dc1edf67068f498579530956817965a03799ee97bd0e1a6fac0573ffd4a9e8e
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library - Content Library and API.pdf", "source_id": "c636483c14a23788e1cbf61d31b77873f8a2f5e2b6b3982127ac7f0688b367de", "page_number": 21, "split_id": 17, "split_idx_start": 29593, "chroma:document": "variety of quality assurance measures to improve the accuracy,quality, and reliability of the data it shares for research purposes. However, given the volume ofdata released and the imperfection of any quality assurance process, inaccuracies persist. Metamakes no representation or warranty, express or implied, including without limitation, anywarranties of fitness for a particular purpose or warranties as to the quality, accuracy orcompleteness of data or information. By accessing this data, individuals acknowledge that the datamay contain nonconformities, defects, or errors. Meta does not warrant that the data will meet allneeds or expectations, that the use of the data will be uninterrupted, or that nonconformities,defects, or errors can or will be corrected.\fContent Library and APIGet accessQuick linksContent LibraryDashboardsContent Library APIAppendixSupportDisclosures and DisclaimersCitationsLearn MoreQuick linksMeta Content LibraryMeta Content Library API documentationGet helpProduct Terms for Meta Research Tools"}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 465b53f47b91ff7dde29544f5bd119a11a5a92a7e529589d3e7096f7f5c08d82
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library and API.pdf", "source_id": "f928a87a90a5eeaf22906f39f7ff0a51f2983b02053b42016335fa5f6cdf1fa9", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APISu questa PaginaMeta Content Library and APIWelcome to Meta Content Library and API. This page provides a broad-level overview of theseproducts and acquaints you with the documentation resources that are available. To learn aboutobtaining access, see Get Access.Content Library: a web-based tool that allows researchers to explore and understand dataacross Facebook and Instagram by o\ufb00ering a comprehensive visual and searchable collectionof publicly accessible content. Learn more about Content Library.Content Library API: an API for querying and analyzing Meta's full public content archive. TheAPI supports data analysis in Python and R in Meta's Researcher Platform, a secure digitalcleanroom. VPN connection is required for Researcher Platform. The API can also be used inan approved third-party cleanroom. Each third-party cleanroom environment has its own userinterface, the documentation of which is outside the scope of Meta Content Library and APIdocumentation. Learn more about Content Library API.Content Library and API are controlled-access environments. The functionality to download thepublic data subset is only available in the Content Library user interface (not in the API), and only ifthe Inter-university Consortium for Political and Social Research (ICPSR) has approved your MetaContent Library application and you or your institution has consented to the appropriate contractterms (Product Terms for Meta Research Tools, Information Sharing Agreement). You can performprogrammatic analysis of the public content from the library by using Content Library API inResearcher Platform or in an approved third-party cleanroom environment.\nContent Library highlightsSearching and filteringSearching all public posts across Facebook or Instagram is easy with comprehensive sorting andfiltering options. Post results can be filtered by language, view count, media type, content\fproducer and more. Search results can be shown in card view or table view.MultimediaPhotos, videos and reels are available for dynamic search, exploration and analysis.Producer listsYou can apply custom producer lists to a search query to surface public "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: a1cc4660fb096dd94b07a9b3b2cdd741d68ff7e0615deb76f9f83a66d67d9484
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library and API.pdf", "source_id": "f928a87a90a5eeaf22906f39f7ff0a51f2983b02053b42016335fa5f6cdf1fa9", "page_number": 1, "split_id": 1, "split_idx_start": 1906, "chroma:document": "media type, content\fproducer and more. Search results can be shown in card view or table view.MultimediaPhotos, videos and reels are available for dynamic search, exploration and analysis.Producer listsYou can apply custom producer lists to a search query to surface public content from specificcreators on Facebook or Instagram.Trends in posts createdResearchers can explore a graph showing a normalized trend of how often content matching theirsearch keywords was posted on Facebook and Instagram within their chosen date range.Documentation resourcesThe Content Library \"About\" tab\u00a0has comprehensive documentation right in the UI.Content Library documentation\u00a0has the same information, but does not require access to theContent Library UI.Quick links\u00a0provides quick access to key topics of interest to Content Library and API users.Content Library API highlightsEndpoints and data fieldsWith eight dedicated endpoints, Content Library API searches over 100 data fields. For Instagramthis includes accounts, posts and comments. For Facebook this includes Pages, posts, comments,profiles, groups and eventsSearch indexing and resultsThe API has powerful search capabilities and can return up to 100,000 results per query.\fAsynchronous searchIn addition to synchronous search, you can submit asynchronous queries in Content Library API.This means a search can run in the background while you submit other queries or work on othertasks.Documentation resourcesContent Library API documentation.Quick links\u00a0provides quick access to key topics of interest to Content Library and API users.Researcher Platform highlightsResearcher Platform is a virtual data cleanroom that provides secure access to Facebook andInstagram datasets and tools designed for researchers.Free computationComputation and data analysis on Researcher Platform are free. The platform supports researcherscollaborating on terabyte- to petabyte-scale datasets.JupyterHub environmentResearcher Platform runs a modified, access-controlled version of JupyterHub\u2014an open sourcetool that supports R, Python, SQL and a range of standard statistical packages. It o\ufb00ers both CPUand GPU servers.Research outputsYou can export your research outputs under agreed-upon terms and conditions. Research outputscan consist of code, figures, "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 9ec951e927173a62e2a94a144c47514cb3816bc69f7562e81e099f3965002e90
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Content Library and API.pdf", "source_id": "f928a87a90a5eeaf22906f39f7ff0a51f2983b02053b42016335fa5f6cdf1fa9", "page_number": 3, "split_id": 2, "split_idx_start": 3909, "chroma:document": "version of JupyterHub\u2014an open sourcetool that supports R, Python, SQL and a range of standard statistical packages. It o\ufb00ers both CPUand GPU servers.Research outputsYou can export your research outputs under agreed-upon terms and conditions. Research outputscan consist of code, figures, tables, graphs and statistics.Documentation resourcesResearcher Platform documentation.\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 42ae083809d831b5aa4b5d43d85994a4c058b44752bb0a7ee4076cefdf04509d
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Dashboards - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "5c8eab1f348ce7221cfd07615c618ecc8d2a1fc532e2f08a94bac4c232b14fde", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent LibraryDashboardsSu questa PaginaMeta Content LibraryDashboardsYou can create custom dashboards to display post feeds and trend charts based on selectedkeywords or producers. Dashboards are powered by the public content dataset.\nCreate dashboardsStart by clicking Dashboards in the left menu bar, then click Create dashboard and give thedashboard a name. The name displays on your Dashboards page to help you locate and sort thedashboards you created. The name also appears with the dashboard if you share access with otherpeople. Each dashboard can have up to 5 sections and each section can have 3 columns so you caneasily organize and compare data.After creating the dashboard, you can then name the first section or start setting up columns.To name the section, click the dropdown menu in the Section 1 tab and select Rename. Enter thename to use for this section and click Apply.To configure a column, click Set up in the column card. Enter a column name and specifyFacebook, Instagram or Threads. Click Apply.Choose default values for the supported filtering options, including at least one keyword orproducer. For Facebook, producers include public Pages, groups, events and eligible profiles. ForInstagram, producers include public business, creator and personal accounts. You can refine thedata when viewing the dashboard, but you must return to edit mode to change the default settings.Click Apply to finish setting up the column. To set up more columns in the dashboard, repeat thesesteps for columns 2 and 3. Otherwise, click Publish to finish creating the dashboard.To add more sections to the dashboard, click Add section and repeat the process you followed tocreate the first section. To delete a section, click to expand the dropdown menu by the section\fname and then select Delete. Each dashboard is required to have at least 1 section, so you cannotremove the last remaining section.View dashboardsOnce "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 769b57968bcf038ee00ba9c1a5d26c86453bafb9a7f2919506c83ffb3dae8b85
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Dashboards - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "5c8eab1f348ce7221cfd07615c618ecc8d2a1fc532e2f08a94bac4c232b14fde", "page_number": 1, "split_id": 1, "split_idx_start": 1703, "chroma:document": "followed tocreate the first section. To delete a section, click to expand the dropdown menu by the section\fname and then select Delete. Each dashboard is required to have at least 1 section, so you cannotremove the last remaining section.View dashboardsOnce you have created and published a dashboard, it will appear in your Dashboards tab. Select adashboard to view. You will see a trend chart and post feed in each of the columns you have set up.You can further refine the display by applying filters or sort options.Filters applied in this view do not impact the default settings. If you leave the dashboard andreopen it, you must select the filters again.Edit dashboardsYou can edit columns, change the default settings, and add more columns or sections by clickingEdit dashboard.Once in edit mode, click the Edit link by the column name to make changes. You\u2019ll see anUnpublished changes indicator at the top of the page if you have draft changes. Click Publish toensure your edits are maintained.Share dashboardsWhen viewing a dashboard, click Share at the top of the page to manage access. By default, adashboard is only available to you as the creator, but you can choose to share it with others whohave the same type of Meta Content Library user account as you. For example, researchers canshare with others who have researcher accounts and fact-checkers can share with others who havefact-checker accounts. They can view your dashboard and apply di\ufb00erent filters, but they cannotmake changes to the default settings.Data quality detailsMeta 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\fContent Library and APIGet accessQuick linksContent LibraryDashboardsContent Library APIAppendixSupportDisclosures and DisclaimersCitationsreleased and the imperfection of any quality assurance process, inaccuracies persist. Meta "}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 079e2f6ebdf3337b0f5f8e985657bfbf1ff8a7e47bb5865b17ef568ed75d8c0e
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Dashboards - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "5c8eab1f348ce7221cfd07615c618ecc8d2a1fc532e2f08a94bac4c232b14fde", "page_number": 2, "split_id": 2, "split_idx_start": 3326, "chroma:document": "improve the accuracy,quality and reliability of the data it shares for research purposes. However, given the volume of data\fContent Library and APIGet accessQuick linksContent LibraryDashboardsContent Library APIAppendixSupportDisclosures and DisclaimersCitationsreleased and the imperfection of any quality assurance process, inaccuracies persist. Meta makesno representation or warranty, express or implied, including without limitation, any warranties offitness for a particular purpose or warranties as to the quality, accuracy or completeness of data orinformation. By accessing this data, individuals acknowledge that the data may containnonconformities, defects or errors. Meta does not warrant that the data will meet all needs orexpectations, that the use of the data will be uninterrupted, or that nonconformities, defects orerrors can or will be corrected.Dashboard expirationA dashboard expires 18 months from the date the creator of the dashboard last viewed or edited it.Learn MoreQuick linksMeta Content LibraryMeta Content Library API documentationGet helpProduct Terms for Meta Research ToolsDisclosures and disclaimers\f"}


created_at: 2024-11-07 15:52:13
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: eb5e0c86f037ccc318732e241b1e281ba2927b4984856cccb5a1dc2d8c29191e
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data deletion - Content Library and API.pdf", "source_id": "eb12baf29c61bbdb707a6e2a6c0a87316f07f8d2ccf9c5c8ae5317f2ae94191c", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent Library APIGuidesData deletionSu questa PaginaData deletionResearcher Platform JupyterHub environment programmatically deletes all Meta Content LibraryAPI research output data and generated local files from JupyterHub environments every 30 days.This ensures that updates made to the visibility of content on Facebook or Instagram are carriedover to Researcher Platform in accordance with Meta data deletion policies.The data deletion is carried out during a 24-hour maintenance window the first day of every monthbeginning at 12:00 AM PST and ending at 11:59 PM PST on the same day, during which you cannotlog in to your JupyterHub environment.\nWhat is and is not deletedThe following forms of data are deleted:All output cells in notebook filesAll non-notebook files on researchers' persistent storageAll S3 bucket files including uploads carried out from within the JupyterHub environment,asynchronous query output, and all query resultsThe following forms of data are not deleted:Notebook files (.ipyhb files)Notebook input cells (code and markdown)Graphics in notebook cellsThe maintenance windowThe maintenance window, during which you will be unable to log into your JupyterHubenvironment, begins on the first day of every month at 12:00 AM PST. It lasts for 24 hours and ends\fContent Library and  your data to avoid research disruptionTo minimize the disruption to your research, consider taking the following measures:Since your input query cells are not a\ufb00ected by the data deletion, you can plan to rerun yourqueries and regenerate new outputs every 30 days. The output will not match exactly whatyou had previously because it will not include any user data that no longer meets visibilityrequirements for Content Library API.You can plan ahead to accommodate the maintenance window each month, so you are notcaught by surprise, unable to work.You can plan to  not.\fOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 98251c7b4e2ccd810160d2610d97cd4a294e73278ba94462f48493baff5ca5a1
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIAppendixData dictionarySu questa PaginaData dictionaryThis data dictionary describes the data names displayed in the Meta Content Library web UI (theName column) if applicable, and the corresponding API fields returned in Meta Content Library APIsearch responses (the API field column). In the API field column, some fields have nested fieldsindicated by a dot notation. These are referred to as expanded fields. See Field expansion forinformation about how to include some or all of a parent field's expanded fields in your queries.Public data available in Meta Content Library and APIFacebook\u2014view-only public data (not downloadable)Data includes the following publicly accessible content:Posts on public Pages, public groups, and public eventsPosts on public profiles with a verified badge or 1,000 or more followersInformation about public Pages, public groups, public events and public profiles that meetthe above criteriaFacebook\u2014downloadable public data (from widely-known individuals andorganizations)The functionality to download the public data subset is only available in the Content Library userinterface (not in the API), and only if the Inter-university Consortium for Political and SocialResearch (ICPSR) has approved your Meta Content Library application and you or your institutionhas consented to the appropriate contract terms (Product Terms for Meta Research Tools,Information Sharing Agreement). Data includes the following publicly accessible content:Posts from public Pages with 15,000 or more likes or 15,000 or more followersPosts from public profiles with a verified badge or 25,000 or more followers\fInformation about public Pages and public profiles that meet the above criteriaPublic 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 topublic with a verified badge or 25,000 or more followers. A verified badge in this context refers toaccounts confirmed as authentic and not those with a paid Meta Verified subscription. Learn moreabout verified Pages "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 14ff19c71bab5b96fd1d0a587e587f4d1118fc26286c44be2cbb75e5a050e1b4
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 2, "split_id": 1, "split_idx_start": 1876, "chroma:document": "be locked and must be set topublic with a verified badge or 25,000 or more followers. A verified badge in this context refers toaccounts confirmed as authentic and not those with a paid Meta Verified subscription. Learn moreabout verified Pages and profiles.Downloadable public data consists of posts from eligible profiles and Pages to all surfaces,including groups, events and Pages.Instagram\u2014view-only public data (not downloadable)Data includes the following publicly accessible content:Posts from public business accounts and public creator accountsPosts from personal accounts set to public with 1,000 or more followersInformation about public Instagram accounts that meet the above criteriaInstagram\u2014downloadable public data (from widely-known individuals andorganizations)The functionality to download the public data subset is only available in the Content Library userinterface (not in the API), and only if ICPSR has approved your Meta Content Library application andyou or your institution has consented to the appropriate contract terms (Product Terms for MetaResearch Tools, Information Sharing Agreement). Data includes the following publicly accessiblecontent:Posts from public business and creator accounts with a verified badge or 25,000 or morefollowersPosts from personal accounts set to public with a verified badge or 25,000 or more followersInformation about public Instagram accounts that meet the criteria abovePublic Instagram accounts include professional accounts for businesses and creators. They alsoinclude 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 paidMeta Verified subscription. Learn more about verified badges.\fFacebook PageNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique ID linked to a Facebook Page; cannot be usedto search on Meta technologies.ContentLibrary APINamenameThe name of the Facebook Page.ContentLibraryContentLibrary APIUsernameusernameThe username of the Facebook Page, if available.ContentLibrary APIAboutaboutThe short paragraph from the Facebook Page Aboutsection.ContentLibraryContentLibrary APIWebsitewebsiteThe external URL from the Facebook Page Aboutsection.ContentLibrary APIDescriptiondescriptionThe long paragraph from the Facebook Page Aboutsection.ContentLibraryContentLibrary API\fVeri\ufb01cationstatusveri\ufb01cation_statusThe veri\ufb01cation status of the "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 5bc055c2dea2f635c0d0a3d891a3162d8379d117a81d31315c71fa8efede5f3e
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 3, "split_id": 2, "split_idx_start": 3864, "chroma:document": "the Facebook Page.ContentLibraryContentLibrary APIUsernameusernameThe username of the Facebook Page, if available.ContentLibrary APIAboutaboutThe short paragraph from the Facebook Page Aboutsection.ContentLibraryContentLibrary APIWebsitewebsiteThe external URL from the Facebook Page Aboutsection.ContentLibrary APIDescriptiondescriptionThe long paragraph from the Facebook Page Aboutsection.ContentLibraryContentLibrary API\fVeri\ufb01cationstatusveri\ufb01cation_statusThe veri\ufb01cation status of the Facebook Page. AFacebook Page with a veri\ufb01ed badge indicates thatFacebook has con\ufb01rmed that it is the authenticpresence for that person or brand. Learn more.ContentLibraryContentLibrary APIPagecategoriespage_categoriesThe list of up to three categories of the FacebookPage, selected by the Page manager.ContentLibraryContentLibrary APILocation citylocation.cityThe self-reported, publicly accessible city locationassociated with the Facebook Page.ContentLibrary APILocationcountrylocation.countryThe self-reported, publicly accessible country locationassociated with the Facebook Page.ContentLibrary APILocationcountry codelocation.country_codeThe self-reported, publicly accessible country codelocation associated with the Facebook Page.ContentLibrary APILocationnamelocation.nameThe self-reported, publicly accessible location nameassociated with the Facebook Page.ContentLibrary APILocationregionlocation.regionThe self-reported, publicly accessible region locationassociated with the Facebook Page.ContentLibrary APILocation ziplocation.zipThe self-reported, publicly accessible location zipassociated with the Facebook Page.ContentLibrary APILocationlocation.streetThe self-reported, publicly accessible street locationContent\fstreetassociated with the Facebook Page.Library APILocationstatelocation.stateThe self-reported, publicly accessible state locationassociated with the Facebook Page.ContentLibrary APIPage namechange datepage_transparency.page_name_changes.data.dateThe date of Facebook Page name change.ContentLibrary APIPage nameoldpage_transparency.page_name_changes.data.old_nameThe old name of the Facebook Page prior to thename change.ContentLibrary APIPage namenewpage_transparency.page_name_changes.data.new_nameThe new name of the Facebook Page, following thename change.ContentLibrary APIPagemerged datepage_transparency.page_merges.data.dateThe date another Facebook Page merged with thisPage.ContentLibrary APIPagemergedpage_transparency.page_merges.data.page_mergedThe name of the Facebook Page that merged withthis Page.ContentLibrary APICreationdatecreation_dateThe date the Facebook Page was created.ContentLibraryContentLibrary API\fPagemanagercountriespage_transparency.admin_countries.data.countryThe predicted primary country locations of peoplewho manage this Facebook Page.ContentLibraryContentLibrary APICount ofPagemanagers bycountriespage_transparency.admin_countries.data.countThe number of people who manage this FacebookPage predicted to be from the associated country.ContentLibraryContentLibrary APIPage ownerpage_transparency.con\ufb01rmed_page_ownerThe con\ufb01rmed owner associated with the FacebookPage.ContentLibrary APIHas activeadspage_transparency.has_active_adsWhether the Facebook Page has active ads or not.ContentLibrary APIHas runpolitical adspage_transparency.has_run_political_adsWhether the Facebook Page has run political ads ornot.ContentLibrary APIFollowersfollower_countThe number of followers of the Facebook Page.ContentLibraryContentLibrary APIPage likeslike_countThe number of likes of the Facebook Page.ContentLibrary API\fFacebook groupNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 4d2809bb842419e384ad751bb4db00394be9a3e78d880c233cef3bafa8c7d608
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 6, "split_id": 3, "split_idx_start": 7070, "chroma:document": "Facebook Page has active ads or not.ContentLibrary APIHas runpolitical adspage_transparency.has_run_political_adsWhether the Facebook Page has run political ads ornot.ContentLibrary APIFollowersfollower_countThe number of followers of the Facebook Page.ContentLibraryContentLibrary APIPage likeslike_countThe number of likes of the Facebook Page.ContentLibrary API\fFacebook groupNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique ID linked to a Facebook group; cannot beused to search on Meta technologies.ContentLibrary APINamenameThe name of the Facebook group.ContentLibraryContentLibrary APIUsernameusernameThe username of the Facebook Page, if available andgroup meets eligible criteria.ContentLibrary APIDescriptiondescriptionThe description of the Facebook group.ContentLibraryContentLibrary APICreationdatecreation_dateThe date the Facebook group was created.ContentLibraryContentLibrary APIGroupgroup_transparThe original name of the Facebook group.Content\foriginalnameency.original_nameLibrary APIGroup namechange dategroup_transparency.name_changes.data.dateThe date the name of the Facebook group changed.ContentLibraryContentLibrary APIGroup namenewgroup_transparency.name_changes.data.new_nameThe new name of the Facebook group.ContentLibrary APIGroup adminandmoderatorPage MetaContentLibrary IDsgroup_transparency.admin_and_moderator_page_idsThe list of Unique IDs linked to the Facebook Pagesthat are admins or moderators of the Facebook group.These unique IDs cannot be used to search on Metatechnologies.ContentLibrary API\nGroup ownertypegroup_owners.data.typeThe type of the group owner associated with theFacebook group.This \ufb01eld will display if the groupowner is a professional pro\ufb01le or Page.ContentLibrary APIGroup ownerMetaContentLibrary IDgroup_owners.data.idUnique ID of the Facebook group owners. This \ufb01eldwill display if the group owner is a professional pro\ufb01leor Page.ContentLibrary APIPicture URLpicture_urlThe photo URL of the Facebook group.ContentLibrary APIGroupmembersmember_countThe number of members of the Facebook group.ContentLibrary\fContentLibrary API\nFacebook eventNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique ID linked to a Facebook event; cannot beused to search on Meta technologies.ContentLibrary APINamenameThe name of the Facebook event.ContentLibraryContentLibrary APIDescriptiondescriptionThe description of the Facebook event.ContentLibraryContentLibrary APICreation timecreation_timeThe time the Facebook event was created.ContentLibrary APIEvent starttimeevent_start_timeThe start time of the Facebook event. Not available ifthe event is the parent of recurring event instances.Learn more.ContentLibrary\fContentLibrary APIEvent endtimeevent_end_timeThe end time of the Facebook event. Not available ifthe event is the parent of recurring event instances.Learn more.ContentLibrary APIGoingresponsesgoing_countThe number of Going responses on a Facebookevent. Not available if the event is the parent ofrecurring event instances. Learn more.ContentLibraryContentLibrary APIInterestedresponsesinterested_countThe "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: d794dc57db53c75b6b63ec43da1e713b87e9cc47127deb914fe8f736ffefab8b
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 10, "split_id": 4, "split_idx_start": 9864, "chroma:document": "end time of the Facebook event. Not available ifthe event is the parent of recurring event instances.Learn more.ContentLibrary APIGoingresponsesgoing_countThe number of Going responses on a Facebookevent. Not available if the event is the parent ofrecurring event instances. Learn more.ContentLibraryContentLibrary APIInterestedresponsesinterested_countThe number of Interested responses on a Facebookevent. Not available if the event is the parent ofrecurring event instances. Learn more.ContentLibraryContentLibrary APIEvent typeevent_typeThe type of Facebook event. Event types includesingle instance, recurring or instance of recurring.ContentLibrary APIRecurringevent MetaContentLibrary IDsrecurring_event_idsThe list of unique Meta Content Library IDs of therecurring instances of the Facebook event, if theevent is recurring; these unique IDs cannot be used tosearch on Meta technologies. Only available if theevent is the parent of recurring event instances. Learnmore.ContentLibrary API\nParent eventIDparent_event_idThe unique ID of the parent event of the Facebookevent, if the event is recurring; cannot be used tosearch on Meta technologies. Only available if theevent is an instance of a recurring event. Learn more.ContentLibrary API\fEventowners typeevent_owners.data.typeThe type of the event owner associated with theFacebook event.ContentLibrary APIEventowners MetaContentLibrary IDevent_owners.data.idThe unique ID of the event owner associated with theFacebook event; cannot be used to search on Metatechnologies. This \ufb01eld will display if the event owneris a group, professional pro\ufb01le or Page. For eventsowned by professional pro\ufb01les or Pages, only theMeta Content Library Page ID will be shared.ContentLibrary API\nPlace nameplace.nameThe self-reported, publicly accessible name of theplace where the Facebook event is located.ContentLibrary APIPlacelocation cityplace.location.cityThe self-reported, publicly accessible city where theFacebook event is located.ContentLibrary APIPlacelocationcountryplace.location.countryThe self-reported, publicly accessible country wherethe Facebook event is located.ContentLibrary APIPlacelocationcountry codeplace.location.country_codeThe self-reported, publicly accessible country code ofthe Facebook event\u2019s location.ContentLibrary APIPlacelocationnameplace.location.nameThe self-reported, publicly accessible name of theFacebook event\u2019s location.ContentLibrary APIPlacelocationregionplace.location.regionThe self-reported, publicly accessible region wherethe Facebook event is located.ContentLibrary APIPlacelocation stateplace.location.stateThe self-reported, publicly accessible state where theFacebook event is located.ContentLibrary API\fPlacelocationstreetplace.location.streetThe self-reported, publicly accessible street where theFacebook event is "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 814ae290fa014e0df67ab239bf70d7bf597878c78171a82c8432a7fec0f2f30a
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 11, "split_id": 5, "split_idx_start": 12133, "chroma:document": "location.ContentLibrary APIPlacelocationnameplace.location.nameThe self-reported, publicly accessible name of theFacebook event\u2019s location.ContentLibrary APIPlacelocationregionplace.location.regionThe self-reported, publicly accessible region wherethe Facebook event is located.ContentLibrary APIPlacelocation stateplace.location.stateThe self-reported, publicly accessible state where theFacebook event is located.ContentLibrary API\fPlacelocationstreetplace.location.streetThe self-reported, publicly accessible street where theFacebook event is located.ContentLibrary APIPlacelocation zipplace.location.zipThe self-reported, publicly accessible zip of theFacebook event\u2019s location.ContentLibrary API\nFacebook profilesNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique ID linked to a Facebook pro\ufb01le; cannot beused to search on Meta technologies.ContentLibrary APINamenameThe name of the Facebook pro\ufb01le, if user meetseligibility criteria.ContentLibraryContentLibrary APIUsernameusernameThe username of the Facebook Page, if available anduser meets eligibility criteria.ContentLibrary APIAboutaboutText of the 'About' section.ContentLibraryContentLibrary APIFollowercountfollower_countThe number of followers of the Facebook pro\ufb01le.ContentLibraryContentLibrary API\fIntrointroText of intro.ContentLibraryContentLibrary APIVeri\ufb01cationstatusveri\ufb01cation_statusVeri\ufb01cation status. Possible values: not_veri\ufb01ed andblue_veri\ufb01ed.ContentLibraryContentLibrary APICreationdatecreation_dateThe date the Facebook pro\ufb01le was created.ContentLibraryContentLibrary APIPro\ufb01lecategoriespro\ufb01le_categoriesThe list of up to three categories of the Facebookpro\ufb01le, selected by the pro\ufb01le owner.ContentLibraryContentLibrary APIAdmincountriespro\ufb01le_transparency.admin_countriesList of predicted primary country locations of theFacebook pro\ufb01le owner.ContentLibraryContentLibrary APIHas activeadspro\ufb01le_transparency.has_active_adsWhether the Facebook pro\ufb01le has active ads or not.ContentLibraryContentLibrary APIPictureheightpicture.heightHeight of the photo URL of the Facebook pro\ufb01le.ContentLibraryContentLibrary API\fPicture URLpicture.urlThe photo URL of the Facebook pro\ufb01le.ContentLibraryContentLibrary APIPicture widthpicture.widthWidth of the photo URL of the Facebook pro\ufb01le.ContentLibraryContentLibrary APIWebsiteswebsitesThe external URLs from the Facebook pro\ufb01le\u2019s 'About'section.ContentLibraryContentLibrary API\nFacebook postNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique ID linked to a Facebook post; cannot be usedto search on Meta technologies.ContentLibrary APITexttextThe text of the Facebook post. Tags are excluded.ContentLibraryContentLibrary APISticker textsticker_textThe text shown in stickers in story highlights.Returned as a list of all the stickers in the same storyhighlight.ContentLibrary\fContentLibrary APIActivity typeactivities.typeType of activity represented in a post. Activity typesinclude streaming or playing (of a gaming video).ContentLibraryContentLibrary APIActivity nameactivities.nameName of the activity represented in a post. Forexample, if the activity type is streaming (of a gamingvideo), this would be the name of the game beingplayed.ContentLibraryContentLibrary APICreation timecreation_timeThe time the Facebook post was created.ContentLibraryContentLibrary APIModi\ufb01ed timemodi\ufb01ed_timeThe time the Facebook post was most recentlymodi\ufb01ed.ContentLibrary APILanguagelangThe "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 8861508b1ddfb91c0e8e32c3f3982474b7463cdc9bf302112a974b0771d7ca81
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 15, "split_id": 6, "split_idx_start": 15252, "chroma:document": "in a post. Forexample, if the activity type is streaming (of a gamingvideo), this would be the name of the game beingplayed.ContentLibraryContentLibrary APICreation timecreation_timeThe time the Facebook post was created.ContentLibraryContentLibrary APIModi\ufb01ed timemodi\ufb01ed_timeThe time the Facebook post was most recentlymodi\ufb01ed.ContentLibrary APILanguagelangThe content language of the Facebook post. ReturnsISO 639-1 language code in 2-letter lowercaseformat.ContentLibrary (Filteronly)ContentLibrary APILikesstatistics.like_cThe number of like reactions on the post.Content\fountLibraryContentLibrary APILovereactionsstatistics.love_countThe number of love reactions on the post.ContentLibraryContentLibrary APIWowreactionsstatistics.wow_countThe number of wow reactions on the post.ContentLibraryContentLibrary APIHahareactionsstatistics.haha_countThe number of haha reactions on the post.ContentLibraryContentLibrary APISadreactionsstatistics.sad_countThe number of sad reactions on the post.ContentLibraryContentLibrary APIAngryreactionsstatistics.angry_countThe number of angry reactions on the post.ContentLibrary\fContentLibrary APICommentsstatistics.comment_countThe number of comments on the post.ContentLibraryContentLibrary APIReactionsstatistics.reaction_countThe total number of reactions on the post. Reactionsinclude: Like, Love, Care, Haha, Wow, Sad or Angry.ContentLibraryContentLibrary APISharesstatistics.share_countThe number of times the post was shared.ContentLibraryContentLibrary APICarereactionsstatistics.care_countThe number of care reactions on the post.ContentLibraryContentLibrary APIViewsstatistics.viewsNumber of times the post was on screen, notincluding times it appeared on the post owner\u2019sscreen. For video posts, views are counted whetherthe video was played or not. Only posts with moreContentLibrary\fthan 100 views display the view count. A post displaysno view count value if there were fewer than 100views as of the last refresh. View counts for postscreated within the last 180 days are refreshedapproximately every 24 hours, provided the post hasaccumulated more than 10 views within that 24 hourperiod. If not, view counts are refreshed every 5-7days. View counts for posts created more than 180days ago are refreshed every 5-7 days. View countsare not available for posts created before January 1,2017.ContentLibrary API\nView countslastrefresheddateview_date_last_refreshedThe date the view count was last refreshed. SeeViews de\ufb01nition for refresh schedule.ContentLibraryContentLibrary APIPost ownertypepost_owner.data.typeThe type of post owner associated with the Facebookpost. Post owner types include: Pages and pro\ufb01les.ContentLibraryContentLibrary APIPost ownerMetaContentLibrary IDpost_owner.data.idUnique ID linked to the owner associated with theFacebook post. These unique "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: d7c029d033cba9951207289cf4001b2c9101850ac290d694c945f72929f316fb
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 18, "split_id": 7, "split_idx_start": 17688, "chroma:document": "count was last refreshed. SeeViews de\ufb01nition for refresh schedule.ContentLibraryContentLibrary APIPost ownertypepost_owner.data.typeThe type of post owner associated with the Facebookpost. Post owner types include: Pages and pro\ufb01les.ContentLibraryContentLibrary APIPost ownerMetaContentLibrary IDpost_owner.data.idUnique ID linked to the owner associated with theFacebook post. These unique IDs cannot be used tosearch on Meta technologies.ContentLibrary APIPost ownernamepost_owner.data.nameThe name of the post owner associated with theFacebook post, if post owner meets eligibility criteria.ContentLibraryContentLibrary API\fPost ownerusernamepost_owner.data.usernameThe username of the post owner associated with theFacebook post, if available and post owner meetseligibility criteria.ContentLibrary APIPost surfacetypesurface.typeThe type of surface of the Facebook post. Postsurface types include: Pages, pro\ufb01les, groups andevents.ContentLibraryContentLibrary APIPost surfaceMetaContentLibrary IDsurface.idUnique ID linked to the surface of the Facebook post.These unique IDs cannot be used to search on Metatechnologies.ContentLibrary APIPost surfacenamesurface.nameThe name of the surface of the Facebook post, if usermeets the eligibility criteria.ContentLibraryContentLibrary APIMedia type(deprecatedas of version5.0)media_typeThe media type included in the Facebook Post. Mediatypes include photos, videos, albums, links, statusand reshares.ContentLibrary APIContent typecontent_typeThe content type included in the Facebook post.Content types include photos, videos (includinggaming videos) and reels, story highlights andmiscellaneous (including links, reshares, and text-onlyposts).ContentLibrary\nContent typecontent_typeThe content type included in the Facebook post.Content\fContent types include photos, videos, albums, storyhighlights, links, status and reshares.Library APIBrandedcontent PageMetaContentLibrary IDbranded_content_page_idUnique ID linked to the Page associated with theFacebook post; cannot be used to search on Metatechnologies. Included if the post has brandedcontent. Learn more about branded contentContentLibrary API\nIs brandedcontentis_branded_contentWhether the Facebook post has branded content ornot. Learn more about branded contentContentLibrary APILinkattachment\ufb01eldsdescriptionlink_attachment_\ufb01elds.descriptionThe description of the link attachment included in theFacebook post.ContentLibrary APILinkattachment\ufb01elds linklink_attachment_\ufb01elds.linkThe URL of the link attachment included in theFacebook post.ContentLibrary APILinkattachment\ufb01elds namelink_attachment_\ufb01elds.nameThe name of the link attachment included in theFacebook post.ContentLibrary APILinkattachment\ufb01elds captionlink_attachment_\ufb01elds.captionThe caption of the link attachment included in theFacebook post.ContentLibrary APIShared postMetaContentLibrary IDshared_post_idUnique ID linked to the reshared post included in theFacebook post; cannot be used "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: d011bd78cb5a75f71237a8dcec8a987e8f0e7c77c13398b8a48ccdfaadb7c76b
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 20, "split_id": 8, "split_idx_start": 20222, "chroma:document": "theFacebook post.ContentLibrary APILinkattachment\ufb01elds namelink_attachment_\ufb01elds.nameThe name of the link attachment included in theFacebook post.ContentLibrary APILinkattachment\ufb01elds captionlink_attachment_\ufb01elds.captionThe caption of the link attachment included in theFacebook post.ContentLibrary APIShared postMetaContentLibrary IDshared_post_idUnique ID linked to the reshared post included in theFacebook post; cannot be used to search on Metatechnologies.ContentLibrary API\fFacebook post third-party cleanroom onlyThe following data dictionary entries are only available when using the Content Library API in anapproved third-party cleanroom that supports the specific functionality.NameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMultimediatypemultimedia.typeThe type (photo or video) of the multimedia content.ContentLibrary APIMultimediaMetaContentLibrary IDmultimedia.idUnique ID linked to the photo or video content. Theseunique IDs cannot be used to search on Metatechnologies.ContentLibrary APIMultimediaURLmultimedia.urlURL within a storage location to which the multimediacontent has been downloaded by the third-partycleanroom if the cleanroom system is unable toprovide the multimedia directly in the search results.ContentLibrary API\nFacebook commentNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique ID linked to a Facebook comment; cannot beused to search on Meta technologies.ContentLibrary APIOwner IDowner.idUnique ID linked to the owner associated with theFacebook comment; cannot be used to search onMeta technologies.ContentLibrary APIOwner typeowner.typeThe type of comment owner associated with theContent\fFacebook comment. Comment owner types include:page, pro\ufb01le and private.Library APIOwnerusernameowner.usernameThe username of the comment owner associated withthe Facebook comment, if available and user meetsthe eligibility criteria.ContentLibrary APIOwner nameowner.nameThe name of the comment owner associated with theFacebook comment. if user meets the eligibilitycriteria.ContentLibrary APIPost IDpost_idUnique ID linked to a Facebook comment; cannot beused to search on Meta technologies.ContentLibrary APIParentCommentMetaContentLibrary IDparent_comment_idUnique ID associated with the Facebook comment,that the comment was shared as a reply; cannot beused to search on Meta technologies. Non existing\ufb01eld if comment has no parent comment.ContentLibrary API\nTexttextThe text of the Facebook comment. Tags areexcluded.ContentLibrary APICreation timecreation_timeThe time the Facebook comment was created.ContentLibrary APILanguagelangThe content language of the Facebook comment.Returns ISO 639-1 language code in 2-letterlowercase format.ContentLibrary APILinkattachment\ufb01elds linklink_attachment.urlThe URL of the link attachment included in theFacebook "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 280537bc0a00b0ffe1d1da51eb99aa3d250580153b1af1ed8b72cd503102dc89
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 22, "split_id": 9, "split_idx_start": 22670, "chroma:document": "API\nTexttextThe text of the Facebook comment. Tags areexcluded.ContentLibrary APICreation timecreation_timeThe time the Facebook comment was created.ContentLibrary APILanguagelangThe content language of the Facebook comment.Returns ISO 639-1 language code in 2-letterlowercase format.ContentLibrary APILinkattachment\ufb01elds linklink_attachment.urlThe URL of the link attachment included in theFacebook comment.ContentLibrary API\fLinkattachment\ufb01elds namelink_attachment.nameThe name of the link attachment included in theFacebook comment.ContentLibrary APILinkattachmentcaptionlink_attachment.captionThe caption of the link attachment included in theFacebook comment.ContentLibrary APILinkattachmentdescriptionlink_attachment.descriptionThe description of the link attachment included in theFacebook comment.ContentLibrary APILikesstatistics.like_countThe number of like reactions on the comment.ContentLibrary APILovereactionsstatistics.love_countThe number of love reactions on the comment.ContentLibrary APIWowreactionsstatistics.wow_countThe number of wow reactions on the comment.ContentLibrary APIHahareactionsstatistics.haha_countThe number of haha reactions on the comment.ContentLibrary APISadreactionsstatistics.sad_countThe number of sad reactions on the comment.ContentLibrary APIAngryreactionsstatistics.angry_countThe number of angry reactions on the comment.ContentLibrary APICarereactionsstatistics.care_countThe number of care reactions on the comment.ContentLibrary APIReactionstatistics.reactiThe total number of reactions on the comment.Content\fcounton_countReactions include Like, Love, Care, Haha, Wow, Sador Angry.Library APICommentcountstatistics.comment_countThe total number of all replies to a comment.ContentLibrary APITop-levelreply countstatistics.top_level_reply_countThe total number of top-level replies of a comment.ContentLibrary API\nFacebook comment third-party cleanroom onlyThe following data dictionary entries are only available when using the Content Library API in anapproved third-party cleanroom that supports the specific functionality.NameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMultimediatypemultimedia.typeThe type (photo or video) of the multimedia content.ContentLibrary APIMultimediaMetaContentLibrary IDmultimedia.idUnique ID linked to the photo or video content. Theseunique IDs cannot be used to search on Metatechnologies.ContentLibrary APIMultimediaURLmultimedia.urlURL within a storage location to which the multimediacontent has been downloaded by the third-partycleanroom if the cleanroom system is unable toprovide the multimedia directly in the search results.ContentLibrary APIInstagram account\fNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique ID linked to an Instagram account; cannot beused to search on Meta technologies.ContentLibrary APIAccount typeaccount_typeThe type of public Instagram account. Creator,business, and personal accounts are valid types.Public Instagram accounts include professionalaccounts for businesses and creators. They alsoinclude a subset of personal accounts that haveprivacy set to public "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 737d74bca7a4c307f006caa91ad46e6262347d22b05364d0c6bbc308a142a9fd
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 25, "split_id": 10, "split_idx_start": 25476, "chroma:document": "beused to search on Meta technologies.ContentLibrary APIAccount typeaccount_typeThe type of public Instagram account. Creator,business, and personal accounts are valid types.Public Instagram accounts include professionalaccounts for businesses and creators. They alsoinclude a subset of personal accounts that haveprivacy set to public and have either a veri\ufb01ed badgeor 25,000 or more followers (for downloadable publicdata) or 1,000 or more followers (for view-only data).A veri\ufb01ed badge in this context refers to accountscon\ufb01rmed as authentic and not those with a paid MetaVeri\ufb01ed subscription.ContentLibrary API\nIs veri\ufb01edis_veri\ufb01edWhether the Instagram account has a veri\ufb01ed badge.A veri\ufb01ed badge in this context refers to accountscon\ufb01rmed as authentic and not to those with a paidMeta Veri\ufb01ed subscription. Learn more.ContentLibraryContentLibrary APIFollowersfollower_countThe number of followers of the Instagram account.ContentLibraryContentLibrary APIFollowingfollowing_countThe number of accounts the Instagram account isfollowing.ContentLibrary APIWebsitewebsiteThe external website URL of the Instagram account.Content\fLibrary APIUsernameusernameThe username of the Instagram account.ContentLibrary APINamenameThe name of the Instagram account, if available.ContentLibraryContentLibrary APIBiographybiographyThe description of the Instagram account.ContentLibraryContentLibrary APICreationdatecreation_dateThe date the Instagram account was created.ContentLibrary API\nInstagram postNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique ID linked to an Instagram post; cannot beused to search on Meta technologies.ContentLibrary APITexttextThe text of the Instagram post. Tags are excluded.ContentLibrary\fContentLibrary APISticker textsticker_textThe text shown in stickers. Returned as a list of all thestickers in the same story highlight.ContentLibraryContentLibrary APICreation timecreation_timeThe time the Instagram post was created.ContentLibraryContentLibrary APIModi\ufb01ed timemodi\ufb01ed_timeThe time the Instagram post was most recentlymodi\ufb01ed.ContentLibrary APILanguagelangThe content language of the Instagram post. ReturnsISO 639-1 language code in 2-letter lowercaseformat.ContentLibrary APICommentsstatistics.comment_countThe number of comments on the post.ContentLibraryContentLibrary APILikesstatistics.like_countThe number of like reactions on the post.ContentLibraryContent\fLibrary APIViewsstatistics.viewsNumber of times the post was on screen, notincluding times it appeared on the post owner\u2019sscreen. For video posts, views are counted whetherthe video was played or not. Only posts with morethan 100 views display the view count. A post displaysno view count value if there were fewer than "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: d513b6994155b3239cf3db588a9ec8f5b9daaeeaf76d1b3238a2bf9b605d2742
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 28, "split_id": 11, "split_idx_start": 27996, "chroma:document": "times it appeared on the post owner\u2019sscreen. For video posts, views are counted whetherthe video was played or not. Only posts with morethan 100 views display the view count. A post displaysno view count value if there were fewer than 100views as of the last refresh. View counts for postscreated within the last 180 days are refreshedapproximately every 24 hours, provided the post hasaccumulated more than 10 views within that 24 hourperiod. If not, view counts are refreshed every 3-5days. View counts for posts created more than 180days ago are refreshed every 3-5 days. View countsare not available for posts made before October 1,2022. Note that this metric differs from the Viewsmetric displayed on Instagram, which measures thenumber of times a reel started to play and the numberof times a non-reel displayed on a person\u2019s screen.ContentLibraryContentLibrary API\nView countslastrefresheddateview_date_last_refreshedThe date the view count was last refreshed. SeeViews de\ufb01nition for refresh schedule.ContentLibraryContentLibrary APIPost owneraccount typepost_owner.typeThe account type of the post owner associated withthe Instagram post. Post owner types includebusiness, creator and personal. For personalaccounts, only those with privacy set to public andwith either a veri\ufb01ed badge or 25,000 or morefollowers (for downloadable public data) or 1,000 ormore followers (for view-only data) are included. Averi\ufb01ed badge in this context refers to accountscon\ufb01rmed as authentic and not those with a paid MetaVeri\ufb01ed subscription.ContentLibrary API\fPost ownerMetaContentLibrary IDpost_owner.idUnique ID linked to the owner associated with theInstagram post; cannot be used to search on Metatechnologies.ContentLibrary APIPost ownerusernamepost_owner.usernameUsername of the owner associated with the Instagrampost, if meeting eligibility criteria.ContentLibrary APIPost ownerNamepost_owner.nameName of the owner associated with the Instagrampost, if available and meeting eligibility criteria.ContentLibraryContentLibrary APIIs brandedcontentis_branded_contentWhether the Instagram post has branded content ornot. Learn more about branded contentContentLibrary APIMedia type(deprecatedas of version5.0)media_typeThe media type included in the Instagram post. Mediatypes include albums, photos, videos and reels.ContentLibraryContentLibrary APIContent typecontent_typeThe "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 9e08f7031115a8adf4891fe10431c0cae1abc2be67e7f23e0c72a688fb7fee6c
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 29, "split_id": 12, "split_idx_start": 29948, "chroma:document": "if available and meeting eligibility criteria.ContentLibraryContentLibrary APIIs brandedcontentis_branded_contentWhether the Instagram post has branded content ornot. Learn more about branded contentContentLibrary APIMedia type(deprecatedas of version5.0)media_typeThe media type included in the Instagram post. Mediatypes include albums, photos, videos and reels.ContentLibraryContentLibrary APIContent typecontent_typeThe media type included in the Instagram post. Mediatypes include albums, photos, videos and reels, andstory highlights.ContentLibraryContentLibrary APIHashtagshashtagsThe list of hashtags included in the Instagram post.ContentLibrary\fContentLibrary API\nInstagram post third-party cleanroom onlyThe following data dictionary entries are only available when using the Content Library API in anapproved third-party cleanroom that supports the specific functionality.NameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMultimediatypemultimedia.typeThe type (photo or video) of the multimedia content.ContentLibrary APIMultimediaMetaContentLibrary IDmultimedia.idUnique ID associated with the photo or video content;cannot be used to search on Meta technologies.ContentLibrary APIMultimediaURLmultimedia.urlURL within a storage location to which the multimediacontent has been downloaded by the third-partycleanroom if the cleanroom system is unable toprovide the multimedia directly in the search results.ContentLibrary API\nInstagram commentNameNameAPI \ufb01eldAPI \ufb01eldDescriptionDescriptionProductsProductsMetaContentLibrary IDidUnique ID linked to an Instagram comment. Thisunique ID cannot be used to search on Metatechnologies.ContentLibraryContent\fLibrary APIOwner IDowner.idUnique ID linked to the owner associated with theInstagram comment. This ID cannot be used tosearch on Meta technologies.ContentLibraryContentLibrary APIOwner typeowner.typeThe type of comment owner associated with theInstagram comment. Comment owner types include:creator, business, personal and private.ContentLibrary APIOwnerusernameowner.usernameThe username of the comment owner associated withthe Instagram comment, if user meets the eligibilitycriteria.ContentLibraryContentLibrary APIOwner nameowner.nameThe name of the comment owner associated with theInstagram comment, if available and user meetseligibility criteria.ContentLibraryContentLibrary APIPost IDpost_idUnique ID linked to an Instagram comment. This IDcannot be used to search on Meta technologies.ContentLibraryContentLibrary APIParentCommentparent_comment_idUnique ID associated with the Instagram commentifthe comment was shared as a reply; cannot be usedContentLibrary\fMetaContentLibrary IDto search on Meta technologies. Non existent \ufb01eld ifcomment has no parent comment.ContentLibrary APITexttextThe text of the Instagram comment. Tags areexcluded.ContentLibraryContentLibrary APICreation timecreation_timeThe time the Instagram comment was created.ContentLibraryContentLibrary "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7a49e7a7d0f8ae595eb872d5d7c9db65a479121ad5c66f2a3c624b499cadb6d8
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Data dictionary - Content Library and API.pdf", "source_id": "a1ee42577f54c84d7bdf4d6dfafb1e012ad88874447c1777cb661c2f0c0ab036", "page_number": 31, "split_id": 13, "split_idx_start": 32512, "chroma:document": "Instagram commentifthe comment was shared as a reply; cannot be usedContentLibrary\fMetaContentLibrary IDto search on Meta technologies. Non existent \ufb01eld ifcomment has no parent comment.ContentLibrary APITexttextThe text of the Instagram comment. Tags areexcluded.ContentLibraryContentLibrary APICreation timecreation_timeThe time the Instagram comment was created.ContentLibraryContentLibrary APILanguagelangThe content language of the Instagram comment.Returns ISO 639-1 language code in 2-letterlowercase format.ContentLibrary APILinkattachmentlink_attachment.urlThe URL of the link attachment included in theInstagram comment.ContentLibraryContentLibrary APILikesstatistics.like_countThe number of like reactions on the comment.ContentLibraryContentLibrary API\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIAppendixData dictionaryField expansionSearch qualityGet API CodeShare producer listSupportDisclosures and DisclaimersCitationsCommentcountstatistics.comment_countThe total number of replies to a comment.ContentLibraryContentLibrary APITop-levelreply countstatistics.top_level_reply_countThe number of top-level replies to a comment.ContentLibrary APILearn moreField expansion\f"}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: a9a09a10194e21a6afe4d60ce06772740460aacab3f4a4e90ac276cf6970e0f8
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Disclosures and Disclaimers - Content Library and API.pdf", "source_id": "4dba4bf5e9749b3a327c77d543aaa9ae101cf635778a9efedeecce66acedf2ca", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIDisclosures and DisclaimersSu questa PaginaDisclosures and Disclaimers\nDisclosuresData governance and sources described in this document may change from time to time and themetrics presented here may not be representative of current operations at Meta. Due to issues suchas erroneously logging the data sources from which these metrics are created, these metrics maysu\ufb00er from fluctuating data quality and incompleteness, which may lead to fluctuating accuracy.We disclose known fluctuations where possible.Individuals using this data are responsible for conducting standard and thorough data cleaningprocesses, and are responsible for ensuring that their analyses are accurate. It is expected theremay be issues with the data when conducting their analysis. We encourage individuals to share anyfindings with us. This may include, but is not necessarily limited to, data quality, validity, or fidelityissues. Given the historical nature of the data and lapsed retention periods, we may not be able tofix the issues identified, but in such cases we will work to disclose them. Please reach out to usthrough Direct Support.DisclaimersMeta 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 ofdata released and the imperfection of any quality assurance process, inaccuracies persist. Metamakes no representation or warranty, express or implied, including without limitation, anywarranties of fitness for a particular purpose or warranties as to the quality, accuracy orcompleteness of data or information. By accessing this data, individuals acknowledge that the datamay contain some nonconformities, defects, or errors. Meta does not warrant that the data willmeet all needs or expectations, that the use of the data will be uninterrupted, or thatnonconformities, defects, or errors can or will be corrected.\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: b5087b7fe5353a01f50593fb41741ac769c178023f528008319fc0495ca5e64b
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook comments - Content Library and API.pdf", "source_id": "f15ba76824ec69e4b53a7eb5fdeefd3d03af2a4086af9b74e5ad19d768538efc", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "Docume\u2026Content Library and \u2026Content Library \u2026Guid\u2026Facebook comme\u2026Su questa PaginaGuide to Facebook commentsdataYou can fetch comments of a Facebook post or replies to a specific Facebook comment by usingthe get() method with the <MCL_ID>/comments path. This document describes the parameters,and shows how to perform basic queries using the method.All of the examples in this document assume you have already created a Python or R Jupyternotebook and have created a client object. See Getting started to learn more.See Data dictionary for detailed information about the fields that are available on a Facebook pagenode.\nParametersParameterParameterTypeTypeDescriptionDescriptionFIELDSOptionalListComma-separated list of \ufb01elds you want included in the result. See Datadictionary for descriptions of all available \ufb01elds.SINCEOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Facebook comments created on orafter this date or timestamp are returned (used with UNTIL to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who made the comment.If both SINCE and UNTIL are included, the query includes the timerange de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the query includes theSINCE time through the present time.\fIf SINCE is omitted and UNTIL is included, the query goes from thebeginning of Facebook time through the UNTIL time.If SINCE and UNTIL are both omitted, the query goes from thebeginning of Facebook time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the queryincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), the queryincludes the SINCE date through the SINCE date plus one day.UNTILOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Facebook comments created on orafter this date or timestamp are returned "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 2bc1b7d9721aa5a1a53aecf3b66f3cbc6e16f695e57d16a3193bc9f337721d7f
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook comments - Content Library and API.pdf", "source_id": "f15ba76824ec69e4b53a7eb5fdeefd3d03af2a4086af9b74e5ad19d768538efc", "page_number": 2, "split_id": 1, "split_idx_start": 1760, "chroma:document": "the queryincludes the SINCE date through the SINCE date plus one day.UNTILOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Facebook comments created on orafter this date or timestamp are returned (used with UNTIL to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who made the comment.If both SINCE and UNTIL are included, the query includes the timerange de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the query includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the query goes from thebeginning of Facebook time through the UNTIL time.If SINCE and UNTIL are both omitted, the query goes from thebeginning of Facebook time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the queryincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), the queryincludes the SINCE date through the SINCE date plus one day.SORTOptionalEnumSorting mode in which the comments are returned (only for synchronousendpoint). Available options:newest_to_oldest: Comments are returned in reversechronological order (newest \ufb01rst).oldest_to_newest: Comments are returned in chronologicalorder (oldest \ufb01rst).none: No sorting is applied to the returned data.Default value: newest_to_oldest\fFETCH_ALLOptionalBooleanBoolean value that allows you to change the way of fetching comments.Available options:True: All of the comments of the entity are returned, both nestedand unnested. Since they are going to be returned in a \u201c\ufb02attenedway,\u201d no sorting is applied.False: Only top level replies of the entity are returned. Sorting canbe applied.Default value: FalseSample queriesFetch comments of a Facebook postFetching comments from specific Facebook posts requires that you first obtain post ID by using theget() method with the appropriate \u201cpath\u201d and \u201cparams.\u201d The search results will include the ID "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 4cefadd92265d7bd6bb3339eee4ea5263544e8b7bf4a8dab6dfdfb098bd93010
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook comments - Content Library and API.pdf", "source_id": "f15ba76824ec69e4b53a7eb5fdeefd3d03af2a4086af9b74e5ad19d768538efc", "page_number": 3, "split_id": 2, "split_idx_start": 3520, "chroma:document": "Sorting canbe applied.Default value: FalseSample queriesFetch comments of a Facebook postFetching comments from specific Facebook posts requires that you first obtain post ID by using theget() method with the appropriate \u201cpath\u201d and \u201cparams.\u201d The search results will include the ID fieldby default (you don't have to specify it in your query). See Guide to learn about this method.The results will include top level comments for a specific post, and not nested comments. In orderto get nested comments of a specific post, you can use fetch comments of a Facebook comment oruse the fetch_all parameter.Meta Content Library IDs can be used in comment queries and displayed in the search results. MetaContent Library IDs are unique IDs linked to an entity in MCL.These IDs cannot be used to search onMeta\u2019s technologies.To fetch top-level replies on a specific Facebook post, generate a post ID by using theget(path=search/facebook_posts, ...) method. Then use the query get(path=<post_id>/comments) method to fetch top-level replies on this post.The following example would return 10 results per page. You can keep calling query_next_page()and has_next_page() to get the next page of 10 results, until all the query results have beenreturned. In order to fetch all top level replies of a post with a single call, you can follow theinstructions for asynchronous fetching\fFetch replies to a Facebook commentTo fetch top-level replies on specific Instagram comments, take a comment ID that you obtainedfrom a previous comment fetch call and pass it as a path param with a /comment su\"ix.The following example would return 10 results per page. You can use the query_next_page() andhas_next() to get the next page of 10 results, until all the query results have been returned. In orderto fetch all top level replies of a comment with a single call, you can follow the instructions forasynchronous fetching.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch first "}


created_at: 2024-11-07 15:52:14
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 4d9e4184d12134b8957ecfdebe28027ab05e2a6e6d65a1923376672b92312c1a
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook comments - Content Library and API.pdf", "source_id": "f15ba76824ec69e4b53a7eb5fdeefd3d03af2a4086af9b74e5ad19d768538efc", "page_number": 4, "split_id": 3, "split_idx_start": 5208, "chroma:document": "get the next page of 10 results, until all the query results have been returned. In orderto fetch all top level replies of a comment with a single call, you can follow the instructions forasynchronous fetching.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch first 10 comments response <- client$get(path=\"877107953929200/comments\")jsonlite::fromJSON(response$text, flatten=TRUE)# Fetch next pageif (client$has_next_page(response)) { response <- client$query_next_page(response) jsonlite::fromJSON(response$text, flatten=TRUE) # Display second page}\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch first 10 subcommentsresponse <- client$get( path=\"2177675389246626/comments\")jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nR\nPython\nR\nPython\fRequest specific fieldsTo have the API return specific fields from the Instagram comments, create a comment fetch call,passing the fields parameter as a comma-separated list of fields you want included. If omitted,default fields will be returned.\nRequest comments with \u201csince\u201d and/or \u201cuntil\u201d filtersTo have the API return comments within a specific time and date range, create a comment fetchcall and pass the since and until parameters you want included.# Fetch next pageif (client$has_next_page(response)) { response <- client$query_next_page(response) jsonlite::fromJSON(response$text, flatten=TRUE) # Display second page}\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch first 10 comments with specific fieldsresponse <- client$get( path=\"877107953929200/comments\", params=list(\"fields\"=\"text,creation_time\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nR\nPython\nR\nPython\fRequest comments with fetch_all filterTo have the API return all comments and not just the top level replies, you can use the fetch_allboolean param by setting it to true. Since the data are returned flattened, no sorting is applied.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Will fetch comments that were created after 2024-04-13, # but before 1713139200 (epoch timestamp of \"2024-04-15 12:00:00 AM)# Both formats (date and UNIX timestamp) are allowedresponse <- client$get( path=\"877107953929200/comments\", params=list(\"since\"=\"2024-04-13\", \"until\"=\"1713139200\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch ALL comments (paginated)response <- client$get( path=\"877107953929200/comments\", params=list(\"fetch_all\"=TRUE))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first pageLearn moreGetting startedData dictionaryGuide to Facebook posts data\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitationsID-based RetrievalRate limiting\f"}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 10cca7def93befcad61561395684b661ee88b6549ba3f413cea6f6c5b75b0b9f
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook Pages - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "d996f3bda99a7f15651212c0c737e27d7051412203c00d8cbedac6a16d7b0274", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "Docume\u2026Content Library and A\u2026Content Library A\u2026Guid\u2026Facebook Pag\u2026Su questa PaginaGuide to Facebook Pages dataYou can perform Facebook Page searches by calling the Meta Content Library API client get()method with the search/facebook_pages path. This document describes the syntax andparameters and shows how to perform basic queries using the method.All of the examples in this document assume you have created a Python or R Jupyter notebook anda client object. See Getting started to learn more.See Data dictionary for detailed information about the fields that are available on a Facebook pagenode.\nParametersParameterParameterTypeTypeDescriptionDescriptionQOptionalStringKeyword(s) to search for. Searches a Page name and description\ufb01elds. See Advanced search guidelines for information about howmultiple keyword searches with Boolean operators are handled.FIELDSOptionalListComma-separated list of Page \ufb01elds you want included in search results.See Data dictionary for descriptions of all available \ufb01elds.PAGE_IDSOptionalListComma-separated list of Meta Content Library Page IDs as strings.Limits the query to the speci\ufb01ed Pages. Maximum of 250 IDs.CATEGORIESOptionalListComma-separated list of categories to include in the search.\fIS_VERIFIEDOptionalBooleanThe veri\ufb01cation status of the Facebook Page. A Facebook Page with averi\ufb01ed badge indicates that Facebook has con\ufb01rmed that it is theauthentic presence for that person or brand. Learn more.WEBSITEOptionalStringWebsite to match against the Facebook Page's \"About\" section.ADMIN_COUNTRIESOptionalListComma-separated list of countries by which to \ufb01lter the Facebook Page'sadmin. Takes ISO Alpha-2 Country Code in 2-letter uppercase format.SINCEOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Facebook Pages created on or afterthis date or timestamp are returned (used with UNTIL to de\ufb01ne a timerange). SINCE and UNTIL are based on UTC time zone, regardless ofthe local time zone of the user who created the Page.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 9a677bef2c3e06eff06906f36ada54dfadbbc03afaeb00138d3033bcf3fa3070
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook Pages - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "d996f3bda99a7f15651212c0c737e27d7051412203c00d8cbedac6a16d7b0274", "page_number": 2, "split_id": 1, "split_idx_start": 2009, "chroma:document": "zone of the user who created the Page.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Facebook time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Facebook time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.UNTILOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Facebook Pages created on orbefore this date or timestamp are returned (used with SINCE to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who created the Page.\fIf both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Facebook time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Facebook time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.Sample queriesSearch for Pages by keywordTo search for Pages that contain a specific keyword, use the q parameter. See Advanced searchguidelines for information "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: b653d4c915e2c3c3ed1073acd42e3ec60c0a73d2c3dd988ceae81b517adf39d0
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook Pages - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "d996f3bda99a7f15651212c0c737e27d7051412203c00d8cbedac6a16d7b0274", "page_number": 3, "split_id": 2, "split_idx_start": 3611, "chroma:document": "and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.Sample queriesSearch for Pages by keywordTo search for Pages that contain a specific keyword, use the q parameter. See Advanced searchguidelines for information about how multiple keyword searches are handled.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get( path = \"search/facebook_pages\", params = list('q' = \"cybercrime\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page# Fetch next pageif (client$has_next_page(response)) { response <- client$query_next_page(response)\nR\nPython\fThis example shows how to iterate through responses by using the query_next_page() method.You can keep calling query_next_page() to get the next page of 10 results, until all the searchresults have been returned. You can call has_next_page() to check if there is more data. SeeSearch guide for other display and storage options.Request specific fieldsTo have the API return only specific fields on any Pages in the response, with the fields parameterand a comma-separated list of fields you want included. If omitted, default fields will be returned.\nSearch for Pages by Page IDTo search for Pages with specific Page IDs (obtained from the results of previous Page searches),create a search object using the get() method with the page_ids parameter. jsonlite::fromJSON(response$text, flatten=TRUE) # Display second page}\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get( path = \"search/facebook_pages\", params = list(\"q\" = \"cybercrime\", 'fields' = \"id,name\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nresponse <- client$get( path = \"search/facebook_pages\", R\nPython\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalFor using Page IDs to search for posts from specific Facebook Pages, see Guide to Facebook postsdata. params = list(\"page_ids\" = list(\"282820031228465\"), 'fields' = \"id,name\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nLearn moreGetting startedSearch guideAdvanced search guidelinesGuide to Facebook posts data"}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 8815bbedaaf06bc023d666793a3702e93e17499e5603a7bf5d1437ce784ccb80
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook posts - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "04691162f6d99cad8cc6332a4841e2e1ea45b0621bdc070b321179d1a3aeb8d6", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent Library APIGuidesFacebook postsSu questa PaginaGuide to Facebook posts dataYou can perform Facebook post searches by calling the Meta Content Library API client get()method with the search/facebook_posts path. This document describes the parameters, andshows how to perform basic queries using the method.All of the examples in this document assume you have created a Jupyter notebook and a clientobject. See Getting started to learn more.See Data dictionary for detailed information about the fields that are available on a Facebook postnode.\nParametersParameterParameterTypeTypeDescriptionDescriptionQOptionalStringKeyword(s) to search for. See Advanced search guidelines forinformation about how multiple keyword searches with Boolean operatorsare handled.FIELDSOptionalListComma-separated list of Facebook post \ufb01elds you want included insearch results. See Data dictionary for descriptions of all available \ufb01elds.POST_IDSOptionalListComma-separated list of Meta Content Library post IDs as strings. Limitsthe query to posts in the list. Maximum of 250 IDs.*DeprecatedPAGE_IDSListThis parameter is no longer available. You can use the SURFACE_IDSparameter instead, which accepts Meta Content Library IDs from anyeligible Facebook post surface to \ufb01lter by surface without specifying thetype.\f*DeprecatedPROFILE_IDSListComma-separated list of Meta Content Library Pro\ufb01le IDs as strings.Limits the query to posts from Pro\ufb01les in the list. Maximum of 250 IDs.*DeprecatedGROUP_IDSListComma-separated list of Meta Content Library group IDs as strings.Limits the query to posts from groups in the list. Maximum of 250 IDs.*DeprecatedEVENT_IDSListComma-separated list of Meta Content Library event IDs as strings.Limits the query to posts from events in the list. Maximum of 250 IDs.SURFACE_IDSOptionalStringComma-separated list of Meta Content Library IDs from post surfaces asstrings. Limits the query to posts made to the surfaces in the list.Maximum of 250 IDs.LANGOptionalStringThe content languages of the Facebook posts to include, speci\ufb01ed asISO 639-1 language codes in 2-letter lowercase format. Multiplelanguages are comma-separated either in a single string(lang=\"ru,es\") or in an array (lang=[\"ru\" \"es\"]).LINKOptional withthe qparameterStringPosts containing the speci\ufb01ed URL are included in search results. "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 12ebb6152458a073fbc0aef3f51bf9d74168535f584e974f4955e2fb7f958e11
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook posts - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "04691162f6d99cad8cc6332a4841e2e1ea45b0621bdc070b321179d1a3aeb8d6", "page_number": 2, "split_id": 1, "split_idx_start": 2040, "chroma:document": "of the Facebook posts to include, speci\ufb01ed asISO 639-1 language codes in 2-letter lowercase format. Multiplelanguages are comma-separated either in a single string(lang=\"ru,es\") or in an array (lang=[\"ru\" \"es\"]).LINKOptional withthe qparameterStringPosts containing the speci\ufb01ed URL are included in search results. Allforms of the URL that point to the same piece of content will be returned.Usage:Can only be used with the q parameter.Returns posts from exact matches only.Searching for multiple URLs in one query is not supported.\fIf you want to search all posts from a domain, the linkparameter is not the best option since it returns postsfrom exact matches only.Instead, you can use the q parameter where q=url. Resultswould include all posts in which the value of q is at least apart of the URL in the post. For example, posts fromcnn.com/entertainment would be included in a search forcnn.com. Once you have the larger set of results, you canwrite Python or R code in your Jupyter environment tonarrow them down.IS_BRANDED_CONTENTOptionalBooleanIndicates whether the Facebook posts returned can include brandedcontent or not. Learn more.MEDIA_TYPESOptionalListComma-separated list of media types to be included in the searchresults. Media types include albums, photos, videos (including reels),links, reshare and status.*DeprecatedADMIN_COUNTRIESListThis parameter is no longer available. You can use theSURFACE_COUNTRIES parameter instead.SURFACE_COUNTRIESOptionalListComma-separated list of countries by which to \ufb01lter posts made toFacebook Pages and pro\ufb01les using the country location from thetransparency section. Only returns posts for which surface_types ispage or profile, whether or not the surface_types parameter hasbeen set. Takes ISO Alpha-2 Country Code in 2-letter uppercase format.*DeprecatedOWNER_TYPESListThis parameter is no longer available. You can use the SURFACE_TYPESparameter instead.SURFACE_TYPESOptionalListComma-separated list of post surface types included in the searchresults. Possible values are page, profile, group and event.\fVIEWS_BUCKET_STARTOptionalIntegerFacebook posts with view counts larger than or equal to this numbermatch the search criteria. Range is from 0 to the maximum of more "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 101bfa1775ce06e475efbc3e5c1e1527f21cf99a50101cbacaa178279af069e9
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook posts - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "04691162f6d99cad8cc6332a4841e2e1ea45b0621bdc070b321179d1a3aeb8d6", "page_number": 3, "split_id": 2, "split_idx_start": 3996, "chroma:document": "list of post surface types included in the searchresults. Possible values are page, profile, group and event.\fVIEWS_BUCKET_STARTOptionalIntegerFacebook posts with view counts larger than or equal to this numbermatch the search criteria. Range is from 0 to the maximum of more than100 million. Used with VIEWS_BUCKET_END to de\ufb01ne a range.Views are the number of times the post or reel was on screen, notincluding times it appeared on the post owner\u2019s screen. See DataDictionary for more details.VIEWS_BUCKET_ENDOptionalIntegerFacebook posts with view counts smaller than or equal to this numbermatch the search criteria. Range is from 0 to the maximum of more than100 million. Used with VIEWS_BUCKET_START to de\ufb01ne a range.Views are the number of times the post or reel was on screen, notincluding times it appeared on the post owner\u2019s screen. See Datadictionary for more details.SINCEOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Facebook posts created on or afterthis date or timestamp are returned (used with UNTIL to de\ufb01ne a timerange). SINCE and UNTIL are based on UTC time zone, regardless ofthe local time zone of the user who made the post.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Facebook time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Facebook time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.\fUNTILOptionalString orIntegerDate in YYYY-MM-DD (date "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 31542927ba25ebc9bd00a7c0169abe7483a0920bbf5839226e048ebb393ff777
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook posts - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "04691162f6d99cad8cc6332a4841e2e1ea45b0621bdc070b321179d1a3aeb8d6", "page_number": 4, "split_id": 3, "split_idx_start": 5664, "chroma:document": "are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.\fUNTILOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Facebook posts created on orbefore this date or timestamp are returned (used with SINCE to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who made the post.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Facebook time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Facebook time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.SORTOptionalEnumSorting mode in which the posts are returned (only for synchronousendpoint). Available options:newest_to_oldest: Posts are returned in reverse chronologicalorder (newest \ufb01rst).oldest_to_newest: Posts are returned in chronological order(oldest \ufb01rst).most_to_least_views: Posts are returned based on the number ofviews (most views \ufb01rst).Default value: newest_to_oldest*The parameters are deprecated in the API 4.0 versionSample queries\fSearch for posts by keywordTo search for all public posts on Facebook Pages, groups, profiles, and events that contain specifickeywords, use the q parameter. See Advanced search guidelines for information about howmultiple keyword searches are handled.\nThis example shows how to iterate through responses by using the query_next_page() method.You can keep calling query_next_page() to "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 5e30752cf5b26aadcdee5714e2fc10ba7ba3f919f664d3879f9b84e21a59f064
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook posts - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "04691162f6d99cad8cc6332a4841e2e1ea45b0621bdc070b321179d1a3aeb8d6", "page_number": 6, "split_id": 4, "split_idx_start": 7422, "chroma:document": "groups, profiles, and events that contain specifickeywords, use the q parameter. See Advanced search guidelines for information about howmultiple keyword searches are handled.\nThis example shows how to iterate through responses by using the query_next_page() method.You can keep calling query_next_page() to get the next page of 10 results, until all the searchresults have been returned or the limit of 1,000 for synchronous search has been reached. You cancall has_next_page() to check if there is more data. See Search guide for other display and storageoptions.The API only returns posts made to Facebook Pages, profiles, groups, or events that can bereturned on their respective paths (search/facebook_pages, search/facebook_profiles,search/facebook_groups and search/facebook_events).Search for posts by post IDTo search for posts with specific post IDs (that you obtained from a previous post search), use thepost_ids parameter specifying a list of post IDs to include in the results.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get( path=\"search/facebook_posts\", params = list(\"q\"=\"cybercrime\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page# Fetch next pageif (client$has_next_page(response)) { response <- client$query_next_page(response) jsonlite::fromJSON(response$text, flatten=TRUE) # Display second page}\nR\nPython\fSearch for posts made to specific Facebook Pages, profiles, groups, or eventsSearching for posts made to specific Facebook Pages, profiles, groups, or events requires that youfirst obtain Page, group, or event IDs by searching using the search/facebook_pages,search/facebook_profiles, search/facebook_groups and search/facebook_events paths.The search results will include the ID field by default (you don't have to specify it in your query). SeeGuides to learn about these methods.The IDs that are displayed in the search results are Meta Content Library IDs that protect userprivacy and will not match the IDs of the content on Meta platforms. These Meta Content LibraryIDs are the ones you use in your subsequent post searches.To search posts made to specific Pages, profiles, groups, or events, use the surface_idsparameter with the page_ids, profile_ids, group_ids, or event_ids parameter, and with orwithout the q parameter. "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 13b30f84c3e6f35c6714b2493f25d33e2832115e3f272434b551616ceadafdb8
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook posts - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "04691162f6d99cad8cc6332a4841e2e1ea45b0621bdc070b321179d1a3aeb8d6", "page_number": 7, "split_id": 5, "split_idx_start": 9536, "chroma:document": "Meta Content LibraryIDs are the ones you use in your subsequent post searches.To search posts made to specific Pages, profiles, groups, or events, use the surface_idsparameter with the page_ids, profile_ids, group_ids, or event_ids parameter, and with orwithout the q parameter. q is not required but can be added to further filter posts. It does notmatter when the posts were created. If you omit the q parameter, all public posts on the specifiedPages, profiles, groups, or events are returned.# Search for posts with specific post IDs response <- client$get( path=\"search/facebook_posts\", params = list(\"post_ids\"=list(\"877107953929200\")))\n# Search for posts made to specific Page IDsresponse <- client$get( path=\"search/facebook_posts\", params = list(\"surface_ids\"=list(\"282820031228465\")))\nR\nPython\nR\nPython\f# Search for posts made to specific group IDs response <- client$get( path=\"search/facebook_posts\", params = list(\"surface_ids\"=list(\"339983685122355\")))\n# Search for posts made to specific Profile IDs response <- client$get( path=\"search/facebook_posts\", params = list(\"surface_ids\"=lis(\"755732639815385\")))\n# Search for posts made to specific event IDs response <- client$get( path=\"search/facebook_posts\", params = list(\"surface_ids\"=list(\"1025592588867344\")))\n# Search for posts made to specific Page IDs and specific group IDs response <- client$get( path=\"search/facebook_posts\", params=list(\"surface_ids\"=list(\"282820031228465\",\"339983685122355\")))\nR\nPython\nR\nPython\nR\nPython\nR\nPython\fRequest specific fieldsTo have the API return only specific fields on any Facebook posts in the response, use the fieldsparameter and a comma-separated list of fields you want included. If omitted, default fields will bereturned.\nSearch for Facebook posts containing a specific URLTo search for all public posts made to Facebook Pages, profiles, groups, and events that containspecific keywords and a specific URL, use the q and link parameters. The link parameter cannotbe used without the q parameter. See Advanced search guidelines for information about howmultiple keyword searches are handled.All forms of the URL that point to the same piece of content will be returned. Searching for multipleURLs in one query is not supported.# Return specific list of fieldsresponse <- client$get( path=\"search/facebook_posts\", params = list(\"q\"=\"cybercrime\", \"fields\"=\"id,text,lang\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\n# Search including both "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 89bd543f7b151244084b7ebb953c29d01555ee742acee5bf33503844ca11c3ad
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook posts - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "04691162f6d99cad8cc6332a4841e2e1ea45b0621bdc070b321179d1a3aeb8d6", "page_number": 9, "split_id": 6, "split_idx_start": 11660, "chroma:document": "that point to the same piece of content will be returned. Searching for multipleURLs in one query is not supported.# Return specific list of fieldsresponse <- client$get( path=\"search/facebook_posts\", params = list(\"q\"=\"cybercrime\", \"fields\"=\"id,text,lang\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\n# Search including both the `q` and `link` parameters:response <- client$get( path=\"search/facebook_posts\", params = list(\"q\"=\"nike\", \"link\"=\"https://nike.com\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nR\nPython\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogIncluding multimedia in search results: Third-party cleanroomenvironment onlyIf you are using the Meta Content Library API in an approved third-party cleanroom environment (asopposed to Meta's Researcher Platform), and if that environment supports it, you have the option ofincluding multimedia (photo, video) in your search results. Multimedia in posts from FacebookPages, profiles, groups, and events are all eligible.Include the keyword multimedia in your query (fields parameter).For any media contained in a post, the response will include the type of media (photo, video),an ID, and either the media itself or a link to where the cleanroom environment has stored themedia. Whether the media can be displayed directly in the response or not depends on thethird-party cleanroom interface.The number of calls allowed that include multimedia is controlled by a multimedia querybudget specific to the third-party cleanroom environment. See Rate limiting and querybudgeting for multimedia for more information.Learn moreGetting startedSearch guideData dictionaryAdvanced search guidelinesRate limiting and query budgeting for multimedia\fChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 446574df45cf141b03a392eed43396c7fb0fdc82ca844bfb9cecefa41e6139a1
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook profiles - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "d24ceda85fca6495d566890ab16f3f11d789822e498b8a348e3ca06fb01fdc5e", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "Docume\u2026Content Library and \u2026Content Library \u2026Guid\u2026Facebook pro7l\u2026Su questa PaginaGuide to Facebook profiles dataYou can perform Facebook profile searches by calling Meta Content Library API client get()method with the search/facebook_profiles path. This document describes the parameters andshows how to perform basic queries by using the method.All of the examples in this document assume you have already created a Python or R Jupyternotebook and have created a client object. See Getting started to learn more.See Data dictionary for detailed information about the fields that are available on a Facebook profilenode.\nParametersParameterParameterTypeTypeDescriptionDescriptionQOptionalStringKeyword(s) to search for. Searches a pro\ufb01le's name and intro \ufb01elds.See Advanced search guidelines for information about how multiplekeyword searches with Boolean operators are handled.FIELDSOptionalListComma-separated list of pro\ufb01le \ufb01elds you want included in searchresults. See Data dictionary for descriptions of all available \ufb01elds.CATEGORIESOptionalListComma-separated list of categories to include in the search.IS_VERIFIEDOptionalBooleanThe veri\ufb01cation status of the Facebook pro\ufb01le. A Facebook pro\ufb01le with averi\ufb01ed badge indicates that Facebook has con\ufb01rmed that it is theauthentic presence for that person or brand. Learn more.\fWEBSITEOptionalStringWebsite to match against the Facebook pro\ufb01le's \"About\" section.PROFILE_IDSOptionalListComma-separated list of Meta Content Library pro\ufb01le IDs as strings.Limits the query to the speci\ufb01ed pro\ufb01les. Maximum of 250 IDs.ADMIN_COUNTRIESOptionalListComma-separated list of countries by which to \ufb01lter the Facebookpro\ufb01le's admin. Takes ISO Alpha-2 Country Code in 2-letter uppercaseformat.SINCEOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Facebook pro\ufb01les created on orafter this date or timestamp are returned (used with UNTIL to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who created the pro\ufb01le.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 86823e22a11eb4145c021358caddde4180e7cb3d0b3c4029d9f1b43a779d50f3
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook profiles - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "d24ceda85fca6495d566890ab16f3f11d789822e498b8a348e3ca06fb01fdc5e", "page_number": 2, "split_id": 1, "split_idx_start": 2046, "chroma:document": "zone of the user who created the pro\ufb01le.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Facebook time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Facebook time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.UNTILOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Facebook pro\ufb01les created on orbefore this date or timestamp are returned (used with SINCE to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who created the pro\ufb01le.\fIf both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Facebook time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Facebook time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.Sample queriesSearch for profile by keywordTo search for profiles that contain a specific use the get() method with the q parameter. SeeAdvanced search "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 0424f0cd65e5277efdd33fe93236baf6928a5202b27330bf12cc60a3b1351e0c
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Facebook profiles - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "d24ceda85fca6495d566890ab16f3f11d789822e498b8a348e3ca06fb01fdc5e", "page_number": 3, "split_id": 2, "split_idx_start": 3654, "chroma:document": "and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.Sample queriesSearch for profile by keywordTo search for profiles that contain a specific use the get() method with the q parameter. SeeAdvanced search guidelines for information about how multiple keyword searches are handled.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get( path = \"search/facebook_profiles\", params = list('q' = \"cybercrime\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page# Fetch next pageif (client$has_next_page(response)) {\nR\nPython\fYou can use the query_next_page() and has_next_page() to get the next page of 10 resultsuntil all the results have been returned. See Search guide for other display and storage options.Request specific fieldsTo have the API return specific fields on any profiles in the response, include the fields parameterand a comma-separated list of fields you want included. If omitted, default fields will be returned.\nSearch for profiles by profile IDTo search for profiles with specific profile IDs (obtained from the results of previous profilesearches), use get() method with the profile_ids parameter. response <- client$query_next_page(response) jsonlite::fromJSON(response$text, flatten=TRUE) # Display second page}\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get( path = \"search/facebook_profiles\", params = list(\"q\" = \"cybercrime\", 'fields' = \"id,name\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nresponse <- client$get( path = \"search/facebook_profiles\", params = list(\"page_ids\" = list('755732639815385'), 'fields' = \"id,name\")\nR\nPython\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsFor using profile IDs to search for posts from specific Facebook profiles, see Guide to Facebookposts data.)jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nLearn moreGetting startedSearch guideData dictionaryAdvanced search guidelinesGuide to Facebook posts data"}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 47ca07709feaaa8a375e9fc0332799ab17780f4f8003d3e345c606f353820e32
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\FAQ - Content Library and API.pdf", "source_id": "b6f496838cbd580bd2e76c622f645f4b18d75295d125bba6915cfc91791abf96", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APISupportFAQSu questa PaginaFrequently asked questionsThe following general disclosures apply to both Meta Content Library and API.\nAccess, eligibility, and publicationWho can gain access to Content Library and API?Any researchers who meet the eligibility criteria (see Get access), provided all other terms andconditions are met, may access Content Library and API.Are global researchers eligible for access to Content Library and API?We welcome global researchers, but access to or use of our tools and data must comply with allapplicable laws, rules and regulations. In addition, the researcher applicant, and any academicuniversity or institution with which the applicant is a!iliated, must not be in a jurisdiction that is thetarget of sanctions imposed by the United States, United Kingdom, European Union or UnitedNations.Do researchers have to pay to access Content Library and API?No. There are no fees associated with access or computation.Do researchers have to reapply for access if they change their research topic or proposal?If the researcher has made any substantive changes to their research topic, proposal or researchethics documentation since having their application approved by the Inter-university Consortiumfor Political and Social Research (ICPSR), they must reapply for access.Do global researchers a!iliated with institutions not in the United States still need to applythrough ICPSR?Yes. All Content Library and API researcher applications are processed and reviewed by ICPSR.How does the application and access process work for researchers who collaborate together oras part of a larger research team?ICPSR will process and review applications from teams of researchers with a clearly identified\fresearch lead and collaborators. For more information please reference the ICPSR application page.Does Meta place any restrictions on how I can publish with data from the Meta Content Libraryand API?Researchers may publish Research Outputs (such as tables, graphs, and analysis), but may notpublish any Confidential Information or Personal Data. For publications based solely "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: eb91d447bf628a78ced4decb373064b55ac03abf822c5f7ba9cd3e3f29072fd6
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\FAQ - Content Library and API.pdf", "source_id": "b6f496838cbd580bd2e76c622f645f4b18d75295d125bba6915cfc91791abf96", "page_number": 2, "split_id": 1, "split_idx_start": 1858, "chroma:document": "Meta place any restrictions on how I can publish with data from the Meta Content Libraryand API?Researchers may publish Research Outputs (such as tables, graphs, and analysis), but may notpublish any Confidential Information or Personal Data. For publications based solely on ContentLibrary and/or API, Meta will not ask to review research manuscripts prior to publication. However,we ask that researchers follow Meta\u2019s attribution guidelines (see Citations) and provide notice uponpublishing.Please refer to the Product Terms for Meta Research Tools for the requirements and conditionsrelated to publication.How does Meta define qualified in terms of academic and research institutions?For academic institutions, qualified means the institution meets all of the following criteria. It is:Dedicated to the pursuit of education and research.Accredited, as indicated by recognized standards and evidence on the institution's website(such as a university), or as demonstrated by documentation provided to ICPSR.Qualified to grant academic degrees (such as undergraduate, graduate, doctoral).A not-for-profit endeavor (in other words, not a business whose sole purpose is to make aprofit).For research institutions, qualified means the institution is a non-university organization, institute,or society/entity which operates as a not-for-profit entity and holds scientific or public interestresearch as a primary purpose or core activity.ViewsHow are views defined?In Meta Content Library and API, views are defined as the cumulative number of times a post wason screen, including multiple appearances of the post on screen from the same account. Thecontent must be displayed for at least 250 milliseconds in order to qualify. Appearances on thepost owner\u2019s screen are not included. The post has to be fully visible in order to qualify.Video posts: views are counted whether the video was played or not.\fReshares: When a reshared post is on screen for a user, the view count for both the original postand the reshared post increment by one. For example, suppose user A makes "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 9a1acf7c21e1d6739502b21f02fde60216b696e1342d62fab5c7f09842a42da4
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\FAQ - Content Library and API.pdf", "source_id": "b6f496838cbd580bd2e76c622f645f4b18d75295d125bba6915cfc91791abf96", "page_number": 2, "split_id": 2, "split_idx_start": 3703, "chroma:document": "views are counted whether the video was played or not.\fReshares: When a reshared post is on screen for a user, the view count for both the original postand the reshared post increment by one. For example, suppose user A makes a post and user Bshares that post. If a third user views the post shared by B, then the view counts for both theoriginal post from A and the reshare from B increment.Only posts with more than 100 views display the view count. A post displays no view count value ifthere were fewer than 100 views as of the last refresh.Some posts don't have any views even though they have engagement on them. Why is that?Views are available for posts created after January 2017 on Facebook and after October 2022 onInstagram. Updates to views can take up to 17 days. This means the number of views visible for apost can be up to 17 days old and for posts newer than 17 days, it's possible that some would nothave views available.Researcher Platform and Content Library APICan I export data out of the Researcher Platform?Download or export of Content Library API data from the Researcher Platform is not permitted.Can I upload datasets into my research environment on Researcher Platform?You may not upload any data to Researcher Platform when working with data from Content LibraryAPI. However, machine learning models, code, and code libraries that you have the necessaryrights to use are permitted for upload.What research environments are available on Researcher Platform?Researchers will have access to JupyterLab with support for R and Python programming languages.How does data deletion work on Researcher Platform?Researcher Platform JupyterHub environment programmatically deletes all Content Library APIresearch output data and local files generated by the user from the JupyterHub environment every30 days on the first of every month. This "}


created_at: 2024-11-07 15:52:15
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: cdf05d87c741792cbf777dd7031e9d2c57cea68a5aab944b66c563abfc95eeb9
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\FAQ - Content Library and API.pdf", "source_id": "b6f496838cbd580bd2e76c622f645f4b18d75295d125bba6915cfc91791abf96", "page_number": 3, "split_id": 3, "split_idx_start": 5262, "chroma:document": "programming languages.How does data deletion work on Researcher Platform?Researcher Platform JupyterHub environment programmatically deletes all Content Library APIresearch output data and local files generated by the user from the JupyterHub environment every30 days on the first of every month. This ensures that updates made to the visibility of content onFacebook or Instagram are carried over to Researcher Platform in accordance with Meta policies.See Data deletion to learn more.Can I use the Meta Content Library API outside of Researcher Platform?The API is also hosted in approved third-party virtual cleanroom environments such as the oneprovided by the Inter-university Consortium for Political and Social Research (ICPSR) at theUniversity of Michigan. The user interface and feature support specifics of third-party cleanroomsdepend upon the individual environments. The documentation of these user interfaces is outside\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIAppendixSupportFAQGet HelpDisclosures and DisclaimersCitationsthe scope of Meta Content Library API documentation.Rate limits and query budgetDoes rate-limiting apply to Content Library API?Yes it does. The limits are as follows:You can perform up to 60 synchronous calls per minute.You can perform one asynchronous call per minute.Does rate-limiting apply to Content Library?Yes it does. You can perform up to 60 searches per minute.Is there a limit to the total number of results allowed in Content Library and API?For Content Library and API combined, one researcher can retrieve a maximum of 500,000 datarecords per 7-day rolling window. This is referred to as a query budget. The rolling window is oneweek previous to the current timestamp (to the second).See Rate limiting and query budgeting to learn more.\f"}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: f5a3a93f77d173f3c075b631b269596fc9977e1df4cfc11e21f148358d1a96fc
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Field expansion - Content Library and API.pdf", "source_id": "4705f19ed8e6fe3b2dce5f1299e8d1d9f1bb95890cb0297f382c1e452d2dbbc5", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIAppendixField expansionSu questa PaginaField expansionThere are a number of fields in the data available through the Meta Content Library API that arenested. For example, the statistics field contains the like_count, haha_count, and severalother fields. When you create search objects, you might want to include some or all of the nestedfields in your search. Field expansion allows you to perform queries for multiple fields and theirnested fields in a single call. We refer to the nested fields as expanded fields.In the Data dictionary, expanded fields are indicated by a dot notation. For example,statistics.like_count indicates that like_count is available within statistics. To specifyexpanded fields in your search objects, you can either use this dot notation or you can append thenames of the expanded fields in curly braces after the parent field. See the examples in thissection.\nSpecifying multiple fieldsYou can specify which multiple fields you want returned on any associated data by using thefields parameter, with the field names separated by commas.# Return specific list of fieldsresponse <- client$get( path=\"search/facebook_posts\", params = list(\"q\"=\"cybercrime\", \"fields\"=\"id,text,lang\"))Specifying expanded fields\nR\nPython\fContent Library and APIYou can specify which expanded fields you want returned on  of expanded field names wrapped in curlybraces to the end of any parent field name.\nIf you specify a field but do not specify any of its expanded fields, default expanded fields on theassociated node are included in the response. If you omit the fields parameter altogether, defaultexpanded fields on default parent fields on the associated data are included in the response.# Return specific list of fieldsresponse <- client$get( path=\"search/facebook_posts\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIAppendixData dictionaryField expansionSearch qualityGet API CodeShare producer listSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 34f9ca431a85c6f02e213a75f411233e50ac056ee7b86494071a99ef223b4518
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Get access - Content Library and API.pdf", "source_id": "99ffd539610e66ee629d8ed8c4bfc185489022192f23e27e84020f133e11d772", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIGet accessSu questa PaginaGet accessTo help ensure a fair and independent application process, Meta has partnered with the Inter-university Consortium for Political and Social Research (ICPSR) based at the University of Michiganto assess researcher qualifications and review submissions from global applicants to Meta ContentLibrary and API.\nEligibility requirementsTo be eligible for access, applicants must be a\"iliated with a qualified academic institution or aqualified research institution. Individuals from di\ufb00erent disciplinary and professional backgroundsare welcome to apply.For academic institutions, qualified means the institution meets all of the following criteria. It is:Dedicated to the pursuit of education and research.Accredited, as indicated by recognized standards and evidence on the institution's website(such as a university), or as demonstrated by documentation provided to ICPSR.Qualified to grant academic degrees (such as undergraduate, graduate, doctoral).A not-for-profit endeavor (in other words, not a business whose sole purpose is to make aprofit).For research institutions, qualified means that the institution meets all of these criteria:A non-university organization, institute, society or entity.Not-for-profit institution.Institution dedicated to scientific or public interest research.Application and access process\fStep 1: Review application requirements and submit an application.You can find an overview of the application process and data tools on the ICPSR Social MediaArchive (SOMAR). We also encourage you to familiarize yourself with the Meta Content Libraryapplication page on the SOMAR site and ICPSR\u2019s application guide before applying.ICPSR will notify Meta and the applicant if the application is approved. Applicants can expect thereview process to take between four and six weeks.Step 2: Fulfill additional data access requirements.Each individual who will access the Meta Content Library user interface (UI) must accept aclickthrough agreement for the Product Terms. If the clickthrough agreement is not appropriate foryour institution (e.g., if your institution does not allow employees to consent to click-throughProduct Terms), Meta o\ufb00ers the option for the institution to sign "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 138524460ca3dc879fd5b8c839d5740615fb4948213ad6922f7b76c4dfefa4d7
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Get access - Content Library and API.pdf", "source_id": "99ffd539610e66ee629d8ed8c4bfc185489022192f23e27e84020f133e11d772", "page_number": 2, "split_id": 1, "split_idx_start": 1991, "chroma:document": "(UI) must accept aclickthrough agreement for the Product Terms. If the clickthrough agreement is not appropriate foryour institution (e.g., if your institution does not allow employees to consent to click-throughProduct Terms), Meta o\ufb00ers the option for the institution to sign an Information Sharing Agreement(ISA) to govern access at an institution level. The executed ISA may apply to various researchagendas; however, new applications for new research proposals must be submitted. The MetaContent Library API is available to access via the ICPSR Virtual Data Enclave. A Data Use Agreementbetween ICPSR and your institution must be executed before you can be granted access to theplatform.The UI can be used separately or in conjunction with the Content Library API. For more informationon the application requirements, please reference the ICPSR application guide.Step 3: Gain access.Access to Meta Content Library and Content Library API is provisioned after all accessrequirements are fulfilled. To continue accessing the tools, you must recertify your a\"iliation withyour institution and research project on an annual basis.Frequently asked questions about access, eligibility, andpublicationAre global applicants eligible for access to Content Library and API?We welcome global users, but access to or use of our tools and data must comply with allapplicable laws, rules and regulations. In addition, the researcher applicant, and any academicuniversity or institution with which the applicant is a\"iliated, must not be in a jurisdiction that is the\fContent Library and APIGet accesstarget of sanctions imposed by the United States, United Kingdom, European Union or UnitedNations.Is payment required to access Content Library and API?No. There are no fees associated with access or computation.What if my research agenda changes? Is a new application required?If any substantive changes were made to a research agenda since having an application approvedby ICPSR, a new application must be submitted.Do global applicants a\"iliated with institutions not in the United "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7e7182de9d840c54305353079e31695edc9ee8ba2c26db93b6b92e0e5b2fb30e
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Get access - Content Library and API.pdf", "source_id": "99ffd539610e66ee629d8ed8c4bfc185489022192f23e27e84020f133e11d772", "page_number": 3, "split_id": 2, "split_idx_start": 3799, "chroma:document": "if my research agenda changes? Is a new application required?If any substantive changes were made to a research agenda since having an application approvedby ICPSR, a new application must be submitted.Do global applicants a\"iliated with institutions not in the United States still need to apply throughICPSR?Yes. All Content Library and API researcher applications are processed and reviewed by ICPSR.How does the application and access process work for users who collaborate together or are partof a larger research team?ICPSR will process and review applications from teams of researchers with a clearly identifiedresearch lead and collaborators. For more information please reference the ICPSR application page.Does Meta place any restrictions on how I can publish with data from the Meta Content Libraryand API?Research Outputs (such as tables, graphs, and analysis) may be published, but no ConfidentialInformation or Personal Data.For publications based solely on Content Library and/or API, Meta willnot ask to review research manuscripts prior to publication. However, we ask that researchersfollow the Meta attribution guidelines (see Citations) and provide notice upon publishing.Please refer to the Product Terms for Meta Research Tools for the requirements and conditionsrelated to publication.Learn moreInter-university Consortium for Political and Social Research (ICPSR)\fQuick linksContent LibraryContent Library APIAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: a953c62f5cafbbcc49f55ba2ef90eaf57a0f9d8444dcf240e5569367bab40e5d
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Get API Code - Content Library and API.pdf", "source_id": "8696073ea124c071588dacca5a853667393e3fa69aafd2d1a8b60899b609ab98", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIAppendixGet API CodeSu questa PaginaGet API CodeGet API Code is a tool within Meta Content Library that automatically generates a Python or R codesnippet corresponding to your current search that you can copy and paste into your Meta ContentLibrary API Jupyter notebook. NOTE: This feature is only available if you are using Content LibraryAPI in the Researcher Platform.Remember the limitsIf you submit a synchronous query in the Content Library API that would return more than1000 results, you will only see the top 1000.If you submit an asynchronous query in the API that would return more than 100,000results, the API will give you an error message and will not complete the query.The automatically generated R or Python code might return more than 100,000 results. Besure to check the very top of the Content Library search results to see the size of theresults before you use the same search in the API.\nIn Content LibraryDefine your searchSelect the parameters for your search. The About page in the web UI describes all the filters thatare available.Open the Get API Code toolClick </> in the top menu bar (mouse over the button to see the label).\fSelect Python or RA new window opens in which your search parameters are listed, and  the correct tab selected, click Copy to Clipboard below the code block.The code block also includes instructions for submitting the code to the API as anasynchronous search which processes in the background. See Search guide to learn aboutthe difference between synchronous (default) and asynchronous searches.Go to Content Library APIAt the bottom of the Get API Code window, there is a Go to Content Library API button that opensthe Content Library API sign-in window.VPN connection is required for Content Library API:The Go to Content Library API button is clickable if you are "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7bc72188be85d8aa1a44164b0cf0d4ea0f3eabf1aef312063e076e5fafb26493
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Get API Code - Content Library and API.pdf", "source_id": "8696073ea124c071588dacca5a853667393e3fa69aafd2d1a8b60899b609ab98", "page_number": 2, "split_id": 1, "split_idx_start": 1623, "chroma:document": "of the Get API Code window, there is a Go to Content Library API button that opensthe Content Library API sign-in window.VPN connection is required for Content Library API:The Go to Content Library API button is clickable if you are connected to VPN.If you believe you are connected, but the button is not  search (query) into a blank cell in your Jupyter notebook. Be sure\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIAppendixData dictionaryField expansionSearch qualityGet API CodeShare producer listSupportDisclosures and DisclaimersCitationsthe language (R or Python) of the notebook matches the language of the code you copied. If youhave not already set up your Jupyter environment, see Getting started for guidance.Run the codeClick the triangular button to run the code and display the results.Learn moreContent Library API documentationSearch guideGetting started"}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 60ea92822732ee651f26ad90e49e4b7cae28c42d0f2a45cb84dacf2261b0f041
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Getting started - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "b148695304b4d53bc2c285ccbfb0fd995f18925291ef85a2898aa060c3bede1f", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent Library APIGetting startedSu questa PaginaGetting startedYou can work with Meta Content Library API within Meta's Researcher Platform or within anapproved third-party cleanroom environment. The getting started procedure documented here isspecific to Researcher Platform which runs a modified version of Jupyter and provides you with avirtual data cleanroom where you can securely search for and analyze data. If you are accessing theContent Library API through a third-party cleanroom environment, you will be provided with gettingstarted instructions from the cleanroom's system administrator.To get up and running with Content Library API in Researcher Platform:Set up OpenVPNLog in to the Researcher Platform URLCreate a Jupyter notebookImport the Content Library API clientTest with a basic search\nSet up OpenVPNContent Library API can only be accessed through a Virtual Private Network (VPN). This sectionshows you how to install and configure the OpenVPN client and connect to our VPN server. Onceconnected, you will be able to access Meta Content Library API.Step 1: Download and install OpenVPNWhen the setup wizard completes, OpenVPN Connect launches and you will be required to acceptthe OpenVPN Inc. Data Collection, Use and Retention policy to continue.Step 2: Set up your profileIn the Import Profile window, select the UPLOAD FILE tab.\fStep 3: Download the OpenVPN configuration fileClicking this link downloads the OpenVPN configuration file (fortVpnCredentials.ovpn) to yourcomputer (check your downloads folder). Once downloaded, drag and drop the file into the ImportProfile window.Step 4: Connect to the VPNIn the Imported Profile window, click CONNECT.\fOnce successfully connected, you will see this window:\nWhile you are connected to our VPN server, all of your internet traffic is routed through it,so be sure to disconnect when you are finished.\fLog in to the Researcher Platform URLWhile connected to the VPN, go to the Researcher Platform URL.Log in to the site using your Facebook credentials. This will spin "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 53a73324231aa597d84f05c4bdf228414721c425a1d018f49a44bb8768337216
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Getting started - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "b148695304b4d53bc2c285ccbfb0fd995f18925291ef85a2898aa060c3bede1f", "page_number": 3, "split_id": 1, "split_idx_start": 1832, "chroma:document": "traffic is routed through it,so be sure to disconnect when you are finished.\fLog in to the Researcher Platform URLWhile connected to the VPN, go to the Researcher Platform URL.Log in to the site using your Facebook credentials. This will spin up an instance of JupyterHubserver for your use in the Researcher Platform.You will be o\ufb00ered the choice of CPU or GPU server. You can learn more about the di\ufb00erencebetween the two here and there is complete documentation on Researcher Platform here.Create a Jupyter notebookTo create a new notebook:\f\ue450. In your Jupyter hub environment, click the blue \"+\" symbol in the upper left corner of thewindow.\ue451. Under Notebook in the Launcher tab, select Python 3 or R according to your preferredlanguage. This creates and opens a new Jupyter notebook.To name the notebook, right-click the notebook in the left navigation bar and select Rename.You enter queries in the blank cells of the notebook. To run a query, click the play icon.Import the Content Library API clientAll calls are made using the Content Library API Client. You only need to import the Content LibraryAPI client once per Jupyter notebook server session.In code block examples in this documentation, select the R or Python tab to see thecorresponding code. You can copy the code and paste it into your notebook.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClient# Set specific MCL_API_VERSION, or use client$LATEST_VERSION to get the latest client$set_default_version(client$LATEST_VERSION)Test with a basic searchTest your setup by running a basic search query. Here is an example to try for Facebook Pages:\nR\nPython\nR\nPython\fTest with fetching by Meta Content Library IDTest how to fetch any entity by their ID (obtained from the results of previous searches), by fetchingone of the Pages from previous example: Here is an example to try:library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Search for Facebook Pagespages_response <- client$get( path=\"search/facebook_pages\", params = list(\"q\"=\"mountains\")) jsonlite::fromJSON(pages_response$text, flatten=TRUE) # "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: dcfd1aa52f0c6623e347e1ecf8c72e561bf6c0d2cec60250e7a79e88aafa0ae2
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Getting started - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "b148695304b4d53bc2c285ccbfb0fd995f18925291ef85a2898aa060c3bede1f", "page_number": 6, "split_id": 2, "split_idx_start": 3567, "chroma:document": "entity by their ID (obtained from the results of previous searches), by fetchingone of the Pages from previous example: Here is an example to try:library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Search for Facebook Pagespages_response <- client$get( path=\"search/facebook_pages\", params = list(\"q\"=\"mountains\")) jsonlite::fromJSON(pages_response$text, flatten=TRUE) # Display first page\npages_data <- jsonlite::fromJSON(pages_response$text, flatten=TRUE)$datapage_mcl_id <- pages_data[c('id')][1,]# Fetch by Meta Content Library IDresponse <- client$get(path=page_mcl_id) jsonlite::fromJSON(response$text, flatten=TRUE)Learn moreJupyterJupyterLab documentationJupyter Notebook basicsResearcher Platform documentation\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 4d6ae97ce900a8614f590f4f7fc69f7fadb9e5b257b9dda02363abd0595a95d2
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Guides - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "9e09c0c75378cb003c7b4945eaba8ca427fc8b2c6103533ec93c56c4f46386ba", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent Library APIGuidesSu questa PaginaGuidesThis section provides a guide to each of the di\ufb00erent types of data that Meta Content Library APIsupports plus some additional guides to further develop your expertise with the API.\nFacebook Pages dataDescribes the search/facebook_pagesendpoint, including parameters and some queryexamples.Facebook groups dataDescribes the search/facebook_groupsendpoint, including parameters and some queryexamples.Facebook events dataDescribes the search/facebook_eventsendpoint, including parameters and some queryexamples.Facebook profiles dataDescribes the search/facebook_profilesendpoint, including parameters and some queryexamples.Facebook posts dataDescribes the search/facebook_postsendpoint, including parameters and some queryexamples.Facebook comments dataDescribes the Facebook /comments endpoint,including parameters and some query examples.Instagram accounts dataDescribes the search/instagram_accountsendpoint, including parameters and some queryInstagram posts dataDescribes the search/instagram_postsendpoint, including parameters and some query\ftrievalExplains how to fetch a Meta Content Librarynode by using a Meta Content Library ID.Search guideExplains how search works in the Content LibraryAPI and how to create search objects.Advanced search guidelines the fixed 30-day deletion scheduleMeta employs.\fFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 72dad55a0ba19ab3009959a1ed59525e08d4456a3b215b0652e774bf33ab8088
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\ID-based retrieval - Content Library and API.pdf", "source_id": "a06f627c456b796afa4e3db8aa45d60e3374c8773e6c686976d676ea65ec386e", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "Docume\u2026Content Library and \u2026Content Library A\u2026Guid\u2026ID-based retrie\u2026Su questa PaginaID-based retrievalThis feature allows you to fetch a Meta Content Library node using its Meta Content Library ID. Wesupport the following nodes for ID-based retrieval:Facebook postsFacebook groupsFacebook eventsFacebook PagesFacebook commentsFacebook profilesInstagram postsInstagram accountsInstagram commentsWe also support retrieval of edges to a node. An edge is a connection between two nodes. Forexample, the Facebook post node can have comments connected to it.See Data dictionary for detailed information about the fields on each node.\nGetting started with ID-based retrievalMeta Content Library IDs can be used in queries and displayed in the search results. Meta ContentLibrary IDs are unique IDs linked to an entity in MCL. These IDs cannot be used to search on Meta\u2019stechnologies.To get sample Meta Content Library IDs users can do a search query defined here. The response ofthese queries will give a list of Meta Content Library entities with a field ID. This ID field can be usedfor ID-based retrieval by following the steps below.\nR\nPython\fThe following table describes the parameters:ParameterParameterTypeTypeDescriptionDescriptionpathStringMeta Content Library ID.versionOptional[String]Optional version of Meta Content Library API.Get edgeBelow is the syntax for fetching content library ID-based retrieval edge:library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClient# Set specific MCL_API_VERSION, or use client$LATEST_VERSION to get the latestclient$set_default_version(\"MCL_API_VERSION\")# Get the response of MCL IDresponse <- client$get(path=\"MCL_ID\")# Display the responsejsonlite::fromJSON(response$text)\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClient# Set specific MCL_API_VERSION, or use client$LATEST_VERSION to get the latestclient$set_default_version(client$LATEST_VERSION)# Get the response of the edge of MCL ID with optional params fieldsresponse <- client$get( path=\"<MCL_ID>/<EDGE>\", params=list(\"fields\" = FIELDS))# Display the response\nR\nPython\fThe following table describes the parameters:ParameterParameterTypeTypeDescriptionDescriptionPATHStringMeta Content Library ID, followed by edge.PARAMSOptionalListComma-separated list of \ufb01elds you want included in the result. See Datadictionary for descriptions of all available \ufb01elds.Get asynchronous edgeSimilarly to how asynchronous search works, you can fetch an edge that returns multiple entries,with an asynchronous request.When you submit an asynchronous query, the API returns "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 8fa003c15142bc5f3715da2b42f43c0ecb16c25b67dadd9bff90cfb9a67c0491
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\ID-based retrieval - Content Library and API.pdf", "source_id": "a06f627c456b796afa4e3db8aa45d60e3374c8773e6c686976d676ea65ec386e", "page_number": 3, "split_id": 1, "split_idx_start": 2338, "chroma:document": "want included in the result. See Datadictionary for descriptions of all available \ufb01elds.Get asynchronous edgeSimilarly to how asynchronous search works, you can fetch an edge that returns multiple entries,with an asynchronous request.When you submit an asynchronous query, the API returns a handle ID indicating the successfulsubmission of the asynchronous query if the expected results are below the 100,000 query resultslimit, and an error message if the expected results are over the limit.If the query is successfully submitted, you can check on the status and receive either IN_PROGRESSor COMPLETE.Submit an Asynchronous query using getjsonlite::fromJSON(response$text)\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientasync_utils <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIAsyncUtilsclient$set_default_version(client$LATEST_VERSION)# Submit query as an async response <- client$get( path=\"<MCL_ID>/async_<EDGE_NAME>\" , params=list(\"fields\" = FIELDS))\nR\nPython\fGet dataWhen the check for status shows COMPLETE, you can fetch the data. You can also write the data to afile, which will be stored in the /previous_queries/ folder in your Jupyter environment in JSONformat.\nThe following table describes the parameters for write_to_file method:ParameterParameterTypeTypeDescriptionDescriptionFILE_NAMEStringCustom \ufb01lename to write generated data.Estimate response size for asynchronous queriesUse the estimate param to get a rough idea of how much data would be returned from an edgequery you have defined. Since the API can only return up to 100,000 results from a singleasynchronous query, it can be helpful to know in advance if your query is likely to fail because theresponse size is too large. If the estimate comes out higher than 100,000, consider modifying theparameters to reduce the response size. You can continue to modify the query parameters and getnew estimates until the results are predicted to fall below the maximum allowed.# Returns IN_PROGRESS or COMPLETEstatus_response <- async_utils$get_status(response=response)jsonlite::fromJSON(status_response$text)\ndata_response <- async_utils$get_data(response=response)jsonlite::fromJSON(data_response$text, flatten=TRUE)# Write data to file using below commandasync_utils$write_data_to_file(response=response, file_name=FILENAME)\nR\nPython\fThis example is typically most useful for posts with many comments because the number of resultstend to be higher, but it can be used to estimate the size "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: f156170b5813136e79c711b09001319aa3c0712e6fdacbeea7ed56e840c245f9
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\ID-based retrieval - Content Library and API.pdf", "source_id": "a06f627c456b796afa4e3db8aa45d60e3374c8773e6c686976d676ea65ec386e", "page_number": 4, "split_id": 2, "split_idx_start": 4384, "chroma:document": "<- async_utils$get_status(response=response)jsonlite::fromJSON(status_response$text)\ndata_response <- async_utils$get_data(response=response)jsonlite::fromJSON(data_response$text, flatten=TRUE)# Write data to file using below commandasync_utils$write_data_to_file(response=response, file_name=FILENAME)\nR\nPython\fThis example is typically most useful for posts with many comments because the number of resultstend to be higher, but it can be used to estimate the size of data that would be returned by anyquery.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Get summary of results by making sure to pass field summary and set it to Trueresponse <- client$get( path=\"MCL_ID/EDGE_NAME\", params=list( fields=\"FIELDS\"), estimate=TRUE)jsonlite::fromJSON(response$text, flatten=TRUE)Sample queriesFetch Facebook Page by Page ID# Sample query for Python library for ID-based retrieval of a Facebook page with optional param fieldslibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch the entity by calling the get method with optional fields parameterresponse <- client$get( path=\"990512972055041\", params=list(\"fields\"=\"about,description\"))# Print the Meta Content Library entityjsonlite::fromJSON(response$text, flatten=TRUE)\nR\nPython\nR\nPython\fFetch comments on a postComments can be fetched both for Facebook and Instagram posts. The following examples use aFacebook post, but the same structure applies to Instagram posts.\nThe example above returns 10 results per page. You can use the query_next_page() andhas_next_page() to get the next page of 10 results until all the results have been returned. Asdescribed above, the synchronous query can return up to 1,000 results. Asynchronous queryshould be used instead if there are more than 1.000 comments available.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch comments by calling /comments edge, with a POST Meta Content Library IDresponse <- client$get( path = \"1927859627616307/comments\", params=list(\"fields\"=\"owner,creation_time\"))# Fetch resultsjsonlite::fromJSON(response$text, flatten=TRUE)\nall_comments <- list()# Check if a post has next page and if it exists fetch the next pagewhile (client$has_next_page(response)) { comments <- jsonlite::fromJSON(response$text, flatten = TRUE)$data all_comments <- dplyr::bind_rows(all_comments, comments) # Get next page response <- client$query_next_page(response)}\nR\nPython\nR\nPython\fAsynchronously fetch comments on a postSubmit asynchronous query\nCheck status\nOnce STATUS is COMPLETE, fetch data# Display the responseall_comments\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientasync_utils <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIAsyncUtilsclient$set_default_version(client$LATEST_VERSION)# Submit query as an async response <- client$get(path=\"1927859627616307/async_comments\")jsonlite::fromJSON(response$text, flatten=TRUE)\n# Returns IN_PROGRESS or COMPLETEstatus_response <- async_utils$get_status(response=response)jsonlite::fromJSON(status_response$text, flatten=TRUE)\n# Fetch data data_response <- async_utils$get_data(response=response)jsonlite::fromJSON(data_response$text, "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 0e14929f3f26dec86995057a665ba12d1ffd7eb729c689c0b210fda0b1cdd0ba
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\ID-based retrieval - Content Library and API.pdf", "source_id": "a06f627c456b796afa4e3db8aa45d60e3374c8773e6c686976d676ea65ec386e", "page_number": 7, "split_id": 3, "split_idx_start": 7064, "chroma:document": "comments on a postSubmit asynchronous query\nCheck status\nOnce STATUS is COMPLETE, fetch data# Display the responseall_comments\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientasync_utils <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIAsyncUtilsclient$set_default_version(client$LATEST_VERSION)# Submit query as an async response <- client$get(path=\"1927859627616307/async_comments\")jsonlite::fromJSON(response$text, flatten=TRUE)\n# Returns IN_PROGRESS or COMPLETEstatus_response <- async_utils$get_status(response=response)jsonlite::fromJSON(status_response$text, flatten=TRUE)\n# Fetch data data_response <- async_utils$get_data(response=response)jsonlite::fromJSON(data_response$text, flatten=TRUE)\nR\nPython\nR\nPython\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsEstimating commentslibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClien<client$set_default_version(client$LATEST_VERSION)# Get summary of results by making sure to pass field summary and set it to Trueresponse <- client$get( path = \"1927859627616307/comments\", params=list(\"fields\"=\"owner,creation_time\", \"summary\"=TRUE))# Fetch resultsjsonlite::fromJSON(response$text, flatten=TRUE)Learn moreGetting startedData dictionary\nR\nPython\fFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: e28aaed87b6d884b339f5ce2d5ec4e6adb7032b3f36a9f09eb8484fa20016744
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram accounts - Content Library and API.pdf", "source_id": "4c760f416212bcaef3611e1ab820bc7b8405865d5c9f318606b54694646cc78e", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "Docume\u2026Content Library and \u2026Content Library \u2026Guid\u2026Instagram accou\u2026Su questa PaginaGuide to Instagram accountsdataYou can perform searches for Instagram creator, business, and certain personal accounts by callingthe Meta Content Library API client get() method method, with thesearch/instagram_accounts path.For personal accounts, only those that have account privacy set to public, and have either a verifiedbadge or 25,000* or more followers are included. This document describes the parameters andshows how to perform basic queries by using this method.*v2.0 will continue to only fetch personal accounts that have account privacy set to public witheither a verified badge or 50,000 or more followers.All of the examples in this document assume you have already created a Python or R Jupyternotebook and have created a client object. See Getting started to learn more.See Data dictionary for detailed information about the fields that are available on an Instagramaccount node.\nParametersParameterParameterTypeTypeDescriptionDescriptionQOptionalStringKeyword(s) to search Instagram accounts for. See Advanced searchguidelines for information about how multiple keyword searches withBoolean operators are handled.FIELDSOptionalListA comma-separated list of Instagram account \ufb01elds you want included insearch results. See Data dictionary for descriptions of all available \ufb01elds.\fACCOUNT_IDSOptionalListComma-separated list of Meta Content Library Instagram account IDs toinclude in the search results. Maximum of 250 IDs.ACCOUNT_TYPESOptionalListComma-separated list of account types of the Instagram accounts to beincluded in the search results. Possible values are creator, businessand personal.Public Instagram accounts include professional accounts for businessesand creators. They also include a subset of personal accounts that haveprivacy set to public and have either a veri\ufb01ed badge or 25,000* or morefollowers. A veri\ufb01ed badge in this context refers to accounts con\ufb01rmed asauthentic and not those with a paid Meta Veri\ufb01ed subscription.*v2.0 will continue to include a subset of personal accounts that haveprivacy set to public with either a veri\ufb01ed badge or 50,000 or morefollowers.IS_VERIFIEDOptionalBooleanWhether the Instagram account is veri\ufb01ed. An Instagram account with alegacy "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: f2f177fbb116629c4e6b80f32567ea20550158fdb44f07d916f7c38846ba5f86
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram accounts - Content Library and API.pdf", "source_id": "4c760f416212bcaef3611e1ab820bc7b8405865d5c9f318606b54694646cc78e", "page_number": 2, "split_id": 1, "split_idx_start": 2001, "chroma:document": "those with a paid Meta Veri\ufb01ed subscription.*v2.0 will continue to include a subset of personal accounts that haveprivacy set to public with either a veri\ufb01ed badge or 50,000 or morefollowers.IS_VERIFIEDOptionalBooleanWhether the Instagram account is veri\ufb01ed. An Instagram account with alegacy blue veri\ufb01ed badge means that Instagram has con\ufb01rmed that it isthe authentic presence for that person or brand. Learn more.SINCEOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Instagram accounts created on orafter this date or timestamp are returned (used with UNTIL to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who created the account.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Instagram time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Instagram time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the search\fincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.UNTILOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Instagram accounts created on orbefore this date or timestamp are returned (used with SINCE to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who created the account.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 8276130335741748be42796e089b05e75970de77e3cdbbb5149bb8a6c79845ca
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram accounts - Content Library and API.pdf", "source_id": "4c760f416212bcaef3611e1ab820bc7b8405865d5c9f318606b54694646cc78e", "page_number": 3, "split_id": 2, "split_idx_start": 3695, "chroma:document": "UNTIL are based on UTC time zone, regardlessof the local time zone of the user who created the account.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Instagram time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Instagram time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.Sample queriesSearch for Instagram accounts by keywordTo search for Instagram accounts that contain a specific keyword use the get() method with the qparameter. See Advanced search guidelines for information about how multiple keyword searchesare handled.\nR\nPython\fThis example would return only 10 results per page. You can use the query_next_page() andhas_next_page() to get the next page of 10 results until all the results have been returned. SeeSearch guide for other display and storage options.Request specific fieldsTo have the API return only specific fields on any Instagram accounts in the response, use theget() method with the fields parameter and a comma-separated list of fields you want included.If omitted, default fields will be returned. To more easily see columns of data, this example specifiesa DataFrame response format (the default response format is JSON).library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <-client$get( path = \"search/instagram_accounts\", params = list('q' = \"cybercrime\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page# Fetch next pageif (client$has_next_page(response)) { response <- client$query_next_page(response) jsonlite::fromJSON(response$text, flatten=TRUE) # Display second page}\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get(path = \"search/instagram_accounts\", params = list('q'=\"cybercrime\", 'fields'='id,name,biography'))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nR\nPython\fSearch for "}


created_at: 2024-11-07 15:52:16
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: f3e76bea4f0e04dd678ac9bf219e8865f3c95d9a44e30c28e3c2fcbda6f57b59
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram accounts - Content Library and API.pdf", "source_id": "4c760f416212bcaef3611e1ab820bc7b8405865d5c9f318606b54694646cc78e", "page_number": 4, "split_id": 3, "split_idx_start": 5538, "chroma:document": "params = list('q' = \"cybercrime\"))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page# Fetch next pageif (client$has_next_page(response)) { response <- client$query_next_page(response) jsonlite::fromJSON(response$text, flatten=TRUE) # Display second page}\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get(path = \"search/instagram_accounts\", params = list('q'=\"cybercrime\", 'fields'='id,name,biography'))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nR\nPython\fSearch for Instagram accounts by account IDYou can search for Instagram accounts using specific account IDs obtained from previous accountsearches.To get data on specific Instagram accounts that contain specific keywords or phrases, use get()the account_ids parameter (specifying the list of account IDs you want included). If you omit the qargument, all accounts in the list of IDs are included, not just those with a specific keyword orphrase.\nFor using Instagram account IDs to search for posts from specific Instagram accounts, see Guide toInstagram posts data.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get( path = \"search/instagram_accounts\", params = list(\"account_ids\"=list(\"315242517956050\")))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nLearn moreGetting startedSearch guideData dictionaryAdvanced search guidelinesGuide to Instagram posts data\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: bb2fed479ea354cdd87143def5b658097677b0cea48015707bbec6d4e4c498a2
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram comments - Content Library and API.pdf", "source_id": "a6a205046114d28a544bf336a36e5582c30a2b41fdc37fc1186945044e48e524", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "Docume\u2026Content Library and \u2026Content Library \u2026Guid\u2026Instagram comme\u2026Su questa PaginaGuide to Instagram commentsdataYou can fetch comments on an Instagram post or replies to a specific Instagram comment byleveraging ID-based retrieval, using the get() method with the <MCL_ID>/comments path. Thisdocument describes the parameters and shows you how to perform basic queries by using thismethod.All of the examples in this document assume you have created a Python or R Jupyter notebook anda client object. See Getting started to learn more.See the Data dictionary for detailed information about the fields that are available on an Instagramcomment node.\nParametersParameterParameterTypeTypeDescriptionDescriptionFIELDSOptionalListComma-separated list of \ufb01elds you want included in the result. See theData dictionary for descriptions of all available \ufb01elds.SINCEOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Instagram comments created on orafter this date or timestamp are returned (used with UNTIL to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who made the comment.If both SINCE and UNTIL are included, the query includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the query includes the\fSINCE time through the present time.If SINCE is omitted and UNTIL is included, the query goes fromthe beginning of Instagram time through the UNTIL time.If SINCE and UNTIL are both omitted, the query goes from thebeginning of Instagram time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the queryincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thequery includes the SINCE date through the SINCE date plus oneday.UNTILOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Instagram comments created on orafter this date or timestamp "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: c8acae50632211684a166e31ab16269288e6b54fad942b526b2dae04cb028441
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram comments - Content Library and API.pdf", "source_id": "a6a205046114d28a544bf336a36e5582c30a2b41fdc37fc1186945044e48e524", "page_number": 2, "split_id": 1, "split_idx_start": 1773, "chroma:document": "same Date (YYYY-MM-DD), thequery includes the SINCE date through the SINCE date plus oneday.UNTILOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Instagram comments created on orafter this date or timestamp are returned (used with SINCE to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who made the comment.If both SINCE and UNTIL are included, the query includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the query includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the query goes fromthe beginning of Instagram time through the UNTIL time.If SINCE and UNTIL are both omitted, the query goes from thebeginning of Instagram time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the queryincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thequery includes the SINCE date through the SINCE date plus oneday.SORTOptionalEnumSorting mode in which the comments are returned (only forsynchronous endpoint). Available options:newest_to_oldest: Comments are returned in reversechronological order (newest \ufb01rst).oldest_to_newest: Comments are returned in chronologicalorder (oldest \ufb01rst).none: No sorting is applied to the returned data.\fDefault value: newest_to_oldestFETCH_ALLOptionalBooleanBoolean value that allows you to change the way of fetching thecomments. Available options:True: all of the comments of the entity are returned, both nestedand unnested. Since they are going to be returned in a \u201c\ufb02attenedway,\u201d no sorting is applied.False: only top-level replies of the entity are returned. Sortingcan be applied.Default value: FalseSample queriesFetch comments on an Instagram postFetching comments from specific Instagram posts requires that you first obtain the post ID by usingthe get() method, with the appropriate \u201cpath\u201d and \u201cparams.\u201d The search results will include "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 40748a80522f7480f33cad319af810d6c8fbad1201a90e26ab0e17cd067b29f7
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram comments - Content Library and API.pdf", "source_id": "a6a205046114d28a544bf336a36e5582c30a2b41fdc37fc1186945044e48e524", "page_number": 3, "split_id": 2, "split_idx_start": 3552, "chroma:document": "returned. Sortingcan be applied.Default value: FalseSample queriesFetch comments on an Instagram postFetching comments from specific Instagram posts requires that you first obtain the post ID by usingthe get() method, with the appropriate \u201cpath\u201d and \u201cparams.\u201d The search results will include the IDfield by default (you don't have to specify it in your query). See the Guide to Instagram posts datato learn about this method.The results will include top-level comments on a specific post but not the nested comments. To getthe nested comments on a specific post, refer to fetch comments of an Instagram comment, or usethe fetch_all parameter.Meta Content Library IDs can be used in comment queries and displayed in the search results. MetaContent Library IDs are unique IDs linked to an entity in MCL. These IDs cannot be used to searchon Meta\u2019s technologies.To fetch top-level replies on a specific Instagram post, generate a post ID using theget(path=\u2019search/instagram_posts\u2019, ...) method. Then, queryget(path=\u2019<post_id>/comments\u2019) method to fetch top-level replies on this post.The following example would return 10 results per page. You can use the query_next_page() andhas_next() to get the next page of 10 results, until all the query results have been returned. In\forder to fetch all top-level replies of a post with a single call, you can follow the instructions onasynchronous fetching.\nFetch replies on an Instagram commentTo fetch top-level replies on specific Instagram comments, take a comment ID that you obtainedfrom a previous comment fetch call and pass it as a path param, with a /comment su\"ix.This example returns 10 results per page. You can use the query_next_page() andhas_next_page() to get the next page of 10 results.To fetch all the top-level replies on a commentwith a single call, follow the instructions on asynchronous fetching.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch first 10 commentsresponse <- client$get(path=\"943578593983539/comments\")jsonlite::fromJSON(response$text, flatten=TRUE)# Fetch next pageif (client$has_next_page(response)) { response <- client$query_next_page(response) jsonlite::fromJSON(response$text, "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: c9fa6aeb6904e543eed9f0de1c87dca048d23ef431aef0051f2022bb7c7c4c87
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram comments - Content Library and API.pdf", "source_id": "a6a205046114d28a544bf336a36e5582c30a2b41fdc37fc1186945044e48e524", "page_number": 4, "split_id": 3, "split_idx_start": 5271, "chroma:document": "next page of 10 results.To fetch all the top-level replies on a commentwith a single call, follow the instructions on asynchronous fetching.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch first 10 commentsresponse <- client$get(path=\"943578593983539/comments\")jsonlite::fromJSON(response$text, flatten=TRUE)# Fetch next pageif (client$has_next_page(response)) { response <- client$query_next_page(response) jsonlite::fromJSON(response$text, flatten=TRUE) # Display second page}\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)\nR\nPython\nR\nPython\fRequest specific fieldsTo have the API return specific fields from the Instagram comments, create a comment fetch call,passing the fields parameter as a comma-separated list of fields you want included. If omitted,default fields will be returned.\nRequest comments with \u201csince\u201d and/or \u201cuntil\u201d filtersTo have the API return comments within a specific time and date range, create a comment fetchcall and pass the since and until parameters you want included.# Fetch first 10 subcommentsresponse <- client$get(path=\"995467055185836/comments\")jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nlibrary (reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch first 10 comments with specific fieldsresponse <- client$get( path=\"943578593983539/comments\", params=list(\"fields\"=\"text,creation_time\"))jsonlite::fromJSON(response$text, flatten=TRUE)\nlibrary(reticulate)\nR\nPython\nR\nPython\fRequest comments with a \u201cfetch_all\u201d filterTo have the API return all comments, not just the top-level replies, you can use the fetch_allboolean param, by setting it to true. Since the data are returned flattened, no sorting is applied.\nRequest comments with a \u201csort\u201d filterTo have the API return comments in a specific order, you can use the sort param.client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Will fetch comments that were created after 2023-12-10# but before 1702771200 (epoch timestamp of \"2023-12-17 12:00:00 AM)# Both formats (date and UNIX timestamp) are allowedresponse <- client$get( path=\"278197145061596/comments\", params=list(\"since\"=\"2023-12-10\", \"until\"=\"1702771200\"))jsonlite::fromJSON(response$text, flatten=TRUE)\nlibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch ALL comments (paginated)response <- client$get( path=\"995467055185836/comments\", params=list(\"fetch_all\"=TRUE))jsonlite::fromJSON(response$text, flatten=TRUE)\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupslibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Fetch first 10 comments, from oldest to newest (chronological order)response <- client$get( path=\"943578593983539/comments\", params=list(\"sort\"=\"oldest_to_newest\"))jsonlite::fromJSON(response$text, flatten=TRUE)Learn moreGetting startedData dictionaryGuide to Instagram posts dataGuide to ID-based retrievalRate limiting for comments fetching\nR\nPython\fFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: d83142a20b1e7d761aa91a094d69db432530a6f73ac41ed81f8e99b23b9517d5
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram posts - Content Library and API.pdf", "source_id": "d38a53dc18d865aacab1d87628628579333c4d7fd81759fec814a0b65cefd178", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "Docume\u2026Content Library and A\u2026Content Library A\u2026Guid\u2026Instagram pos\u2026Su questa PaginaGuide to Instagram posts dataYou can perform Instagram posts searches by calling the Meta Content Library API client get()method, syntax and parameters It also shows how to perform basic queries using the method withthe search/instagram_posts path. This document describes the parameters and shows you howto perform basic queries by using this method.Public Instagram accounts include professional accounts for businesses and creators. They alsoinclude a subset of personal accounts that have privacy set to public and have either a verifiedbadge or 25,000* or more followers. (Version 2.0 requires 50,000 or more followers for the accountto be included.) A verified badge in this context refers to accounts confirmed as authentic and notthose with a paid Meta Verified subscription.\nParametersParameterParameterTypeTypeDescriptionDescriptionQOptionalStringKeyword(s) to search for. See Advanced search guidelines forinformation about how multiple keyword searches with Boolean operatorsare handled.FIELDSOptionalListComma-separated list of Instagram post \ufb01elds to be included in searchresults. See Data dictionary for descriptions of all available \ufb01elds.POST_IDSOptionalListComma-separated list of Meta Content Library post IDs to include insearch results. Limits the query to posts in the list. Maximum of 250 IDs.ACCOUNT_IDSOptionalListComma-separated list of Meta Content Library account IDs as strings.Limits the query to posts from accounts in the list. Maximum of 250 IDs.\fACCOUNT_TYPESOptionalListComma-separated list of Instagram account types. Possible values arecreator, business, and personal.Public Instagram accounts include professional accounts for businessesand creators. They also include a subset of personal accounts that haveprivacy set to public and have either a veri\ufb01ed badge or 25,000 or morefollowers. A veri\ufb01ed badge in this context refers to accounts con\ufb01rmed asauthentic and not those with a paid Meta Veri\ufb01ed subscription.*v2.0 will continue to include a subset of personal accounts that haveprivacy set to public and have either a veri\ufb01ed badge or 50,000 or morefollowers.LANGOptionalStringThe content languages of the Instagram posts to include, speci\ufb01ed "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: a0a9f5a34c45df1a4d4cb16d70ac8a24e1b8b9b1d33a52316ef3b8ae901180e3
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram posts - Content Library and API.pdf", "source_id": "d38a53dc18d865aacab1d87628628579333c4d7fd81759fec814a0b65cefd178", "page_number": 2, "split_id": 1, "split_idx_start": 1990, "chroma:document": "those with a paid Meta Veri\ufb01ed subscription.*v2.0 will continue to include a subset of personal accounts that haveprivacy set to public and have either a veri\ufb01ed badge or 50,000 or morefollowers.LANGOptionalStringThe content languages of the Instagram posts to include, speci\ufb01ed asISO 639-1 language codes in 2-letter lowercase format. Multiplelanguages are comma-separated either in a single string(lang=\"ru,es\") or in an array (lang=[\"ru\" \"es\"]).IS_BRANDED_CONTENTOptionalBooleanIndicates whether the Instagram posts returned can include brandedcontent or not. Learn more.MEDIA_TYPESOptionalListComma-separated list of media types to be included in the searchresults. Media types include albums, photos, and videos (includingreels).VIEWS_BUCKET_STARTOptionalIntegerInstagram posts with view counts larger than or equal to this numbermatch the search criteria. Range is from 0 to the maximum of more than100 million.Views are the number of times the post or reel was on screen, notincluding times it appeared on the post owner\u2019s screen. See Datadictionary for more details.VIEWS_BUCIntegerInstagram posts with view counts smaller than or equal to this number\fKET_ENDOptionalmatch the search criteria. Range is from 0 to the maximum of more than100 million.Views are the number of times the post or reel was on screen, notincluding times it appeared on the post owner\u2019s screen. See Datadictionary for more details.SINCEOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Instagram posts created on or afterthis date or timestamp are returned (used with UNTIL to de\ufb01ne a timerange). SINCE and UNTIL are based on UTC time zone, regardless ofthe local time zone of the user who made the post.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Instagram time through the UNTIL time.If "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: efa2656c1fe4c861eec42df21c28a2cb4b8244584af2ebd59dd5f4fae28ccefb
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram posts - Content Library and API.pdf", "source_id": "d38a53dc18d865aacab1d87628628579333c4d7fd81759fec814a0b65cefd178", "page_number": 3, "split_id": 2, "split_idx_start": 3819, "chroma:document": "range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes fromthe beginning of Instagram time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Instagram time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.UNTILOptionalString orIntegerDate in YYYY-MM-DD (date only) or UNIX timestamp (translates to adate and time to the second) format. Instagram posts created on orbefore this date or timestamp are returned (used with SINCE to de\ufb01ne atime range). SINCE and UNTIL are based on UTC time zone, regardlessof the local time zone of the user who made the post.If both SINCE and UNTIL are included, the search includes thetime range de\ufb01ned by those values.If SINCE is included and UNTIL is omitted, the search includes theSINCE time through the present time.If SINCE is omitted and UNTIL is included, the search goes from\fthe beginning of Instagram time through the UNTIL time.If SINCE and UNTIL are both omitted, the search goes from thebeginning of Instagram time to the present time.If SINCE and UNTIL are the same UNIX timestamp, the searchincludes the SINCE time through the SINCE time plus one hour.If SINCE and UNTIL are the same Date (YYYY-MM-DD), thesearch includes the SINCE date through the SINCE date plus oneday.SORTOptionalEnumSorting mode in which the posts are returned (only for synchronousendpoint). Available options:newest_to_oldest: Posts are returned in reverse chronologicalorder (newest \ufb01rst).oldest_to_newest: Posts are returned in chronological order(oldest \ufb01rst).most_to_least_views: Posts are returned based on the number ofviews (most views \ufb01rst).Default value: newest_to_oldestSample "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 48e9c76c143c1aae7266d714287a87d1db0836175be5ef4aee6132340a9bde24
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram posts - Content Library and API.pdf", "source_id": "d38a53dc18d865aacab1d87628628579333c4d7fd81759fec814a0b65cefd178", "page_number": 4, "split_id": 3, "split_idx_start": 5454, "chroma:document": "mode in which the posts are returned (only for synchronousendpoint). Available options:newest_to_oldest: Posts are returned in reverse chronologicalorder (newest \ufb01rst).oldest_to_newest: Posts are returned in chronological order(oldest \ufb01rst).most_to_least_views: Posts are returned based on the number ofviews (most views \ufb01rst).Default value: newest_to_oldestSample QueriesSearch for Instagram posts by keywordTo search for all public posts from public Instagram accounts that contain a specific keyword, useget() method with the q parameter. See Advanced search guidelines for information about howmultiple keyword searches are handled.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)\nR\nPython\fThis example would return only 10 results per page. You can use the query_next_page() andhas_next_page() to get the next page of 10 results until all the results have been returned. SeeSearch guide for other display and storage options.The API only returns posts from Instagram accounts that can be returned on their respective paths(search/instagram_accounts).Request specific fieldsTo have the API return only specific fields on any Instagram posts in the response, use the get()method with the fields parameter and a comma-separated list of fields you want included. Ifomitted, default fields will be returned.# Search for posts with specific keywordresponse <- client$get( path = \"search/instagram_posts\", params = list('q' = \"cybercrime\"))# No results are displayed until you provide display instructions: jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page# Fetch next pageif (client$has_next_page(response)) { response <- client$query_next_page(response) jsonlite::fromJSON(response$text, flatten=TRUE) # Display second page}\n# Create an endpoint including a list of fields:response <- client$get( path = \"search/instagram_posts\", params = list('q' = \"cybercrime\", 'fields'='id,text,creation_time'))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\nR\nPython\fSearch for posts by post IDTo search for posts with specific post IDs (that you obtained from a previous post search), useget() method with the post_ids parameter specifying a list of post IDs to include in the results.\nSearch for posts from specific Instagram accountsSearching for posts from specific Instagram accounts requires that you first obtain account IDs byusing get() method with search/instagram_accounts "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 74b7010aa1efb41d22384c010d105b296a6366380d2abc9d06024f48c9486ccb
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram posts - Content Library and API.pdf", "source_id": "d38a53dc18d865aacab1d87628628579333c4d7fd81759fec814a0b65cefd178", "page_number": 6, "split_id": 4, "split_idx_start": 7666, "chroma:document": "method with the post_ids parameter specifying a list of post IDs to include in the results.\nSearch for posts from specific Instagram accountsSearching for posts from specific Instagram accounts requires that you first obtain account IDs byusing get() method with search/instagram_accounts path. The search results will include theID field by default (you don't have to specify it in your query). See Guide to Instagram accounts datato learn about this method.The IDs that are displayed are Meta Content Library IDs that protect user privacy and will not matchthe IDs of the content on Meta platforms. These Meta Content Library IDs are the ones you use inyour subsequent post searches.To search for posts from specific accounts, use account_ids parameter, and with or without the qparameter. q is not required but can be added to further filter posts. It does not matter when theposts were created. If you omit the q parameter, all public posts from the specified accounts arereturned.# Search for posts with specific post IDsresponse <- client$get( path = \"search/instagram_posts\", params = list('post_ids'=list('7069734086407812')))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first page\n# Search for posts from specific account IDsresponse <- client$get( path = \"search/instagram_posts\",\nR\nPython\nR\nPython\fContent Library and API params = list('account_ids'='315242517956050'))jsonlite::fromJSON(response$text, flatten=TRUE) # Display first pageIncluding multimedia in search results: Third-party cleanroomenvironments onlyIf you are using the Meta Content Library API in an approved third-party cleanroom environment (asopposed to Meta's Researcher Platform), and if that environment supports it, you have the option ofincluding multimedia (photo, video) in your search results. Multimedia in posts from Instagrambusiness, creator, and personal accounts are all eligible.Include the keyword multimedia in your query (fields parameter).For any media contained in a post, the response will include the type of media (photo, video),an ID, and either the media itself or a link to where the cleanroom environment has stored themedia. Whether the media can "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: e66b48caa314798e7eaee16d5d563f8c0d1b0591ad88bd297d455d99433b2745
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Instagram posts - Content Library and API.pdf", "source_id": "d38a53dc18d865aacab1d87628628579333c4d7fd81759fec814a0b65cefd178", "page_number": 7, "split_id": 5, "split_idx_start": 9593, "chroma:document": "query (fields parameter).For any media contained in a post, the response will include the type of media (photo, video),an ID, and either the media itself or a link to where the cleanroom environment has stored themedia. Whether the media can be displayed directly in the response or not depends on thethird-party cleanroom interface.The number of calls allowed that include multimedia is controlled by a multimedia querybudget specific to the third-party cleanroom environment. See Rate limiting and querybudgeting for multimedia for more information.Learn moreGetting startedSearch guideData dictionaryAdvanced search guidelinesGuide to Instagram accounts dataRate limiting and query budgeting for multimedia\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 335b0beb92b6ae6b7f620f3740d8e086a60a3ad05a5238909ef8f4c35a864a38
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Overview - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "7b40c9095b635e4b92c4985fb9597733a4c11943cdb431e05a88267e64f44875", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent Library APIOverviewSu questa PaginaOverviewMeta Content Library API provides access to real-time data from public discussions on Facebookand Instagram, equipping researchers to study existing topics of interest as well as understandevolving or emerging topics on our platforms.Content Library API can be accessed either through Meta's Researcher Platform or through anapproved third-party cleanroom environment. The following third-party cleanroom environmentsare approved as of Content Library API version 4.0:Inter-university Consortium for Political and Social Research (ICPSR) at the University ofMichiganUser documentation for third-party cleanroom interfaces is outside the scope of the Meta ContentLibrary API documentation and can instead be provided by the third-party's system administrator.Downloading data from the API is not permittedDownloading of Facebook and Instagram data from the Content Library API by any means isnot permitted, regardless of whether you are accessing the API through ResearcherPlatform or a third-party cleanroom such as ICPSR.\nContent Library API clientWhen you access the API through Meta's Researcher Platform, you use our Content Library APIClient which runs on Jupyter and with which you can create Jupyter notebooks. Once you havecreated a notebook, you can import our Python3 or R Content Library API client module whichallows you to perform queries using the API. See Getting started.VPN\fYou access the API through our  that describes the data names displayed in the Meta ContentLibrary (the Name column) if applicable, and the corresponding API fields returned in ContentLibrary API search responses (the API field column).Meta Content LibraryMeta Content Library is a web-based tool that allows researchers to explore and understand dataacross Facebook and Instagram by o\ufb00ering a comprehensive, visual, searchable collection ofpublicly accessible content\u2014the same content that is also accessible through the Content LibraryAPI. The web-based user interface allows you to explore data, test out search parameters, andassess whether the resulting data is appropriate for your planned research. "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7e891aad4734361c78049f46c451fc840dc383f15287b31f050c7c7d371945ab
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Overview - Content Library and API - Documentazione - Meta for Developers.pdf", "source_id": "7b40c9095b635e4b92c4985fb9597733a4c11943cdb431e05a88267e64f44875", "page_number": 2, "split_id": 1, "split_idx_start": 1883, "chroma:document": "visual, searchable collection ofpublicly accessible content\u2014the same content that is also accessible through the Content LibraryAPI. The web-based user interface allows you to explore data, test out search parameters, andassess whether the resulting data is appropriate for your planned research. No knowledge of queryor programming languages is needed.Code examplesCode examples in this documentation use a tabbed code block with tabs for R and Python. Clickthe tab for the language of your choice to display  the R tab to display R code here\nLearn more\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesAppendixSupportDisclosures and DisclaimersCitationsFrequently asked questionsSearch quality approachResearcher PlatformMeta Content Library"}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: c91611d74ec241d2644fa7738ecad280059125b9ed3790803873b330a18bba06
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Rate limiting - Content Library and API.pdf", "source_id": "2fc00f28754e8693ead7f88161fad11921de723aee53044f32a9a8bf77a66112", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent Library APIGuidesRate limitingSu questa PaginaRate limiting and querybudgetingMeta Content Library and API both have limits at the individual researcher level that:Put a cap on the number of queries allowed per user per minute (a separate limit for eachtool). This is called a rate limit.Put a cap on the number of retrieved data records (posts, for example) per user per seven-day rolling window. This limit, called a query budget, is shared between the two tools peruser. In other words, a single researcher has a total query budget between the two tools,regardless if they are using just Content Library, just Content Library API, or both.Maintaining a rate-limiting and query-budgeting policy ensures that the tools run e!iciently andprovide all users with consistent data access, unhindered by reduced performance. It also providesa measure of protection against system flooding.\nWhat are the limits?Rate limits for Content Library60 queries over any one-minute intervalRate limits for Content Library APISynchronous search queries: 60 queries over any one-minute intervalAsynchronous search queries: 1 query per minuteSee Search guide for information about the di\ufb00erence between synchronous and asynchronous\fsearches.Combined query budget per researcherFor Content Library and API combined, you can retrieve a maximum of 500,000 data records perseven-day rolling window. You have a maximum query budget of 500,000 comment data recordsper seven-day rolling window. The rolling window is one week previous to the current timestamp (tothe second). If you are blocked by hitting the query budget, you should not need to wait longbefore you try again.If you are using the Content Library API in a third-party cleanroom environment, and if thatenvironment supports including multimedia in posts, there is an additional query budget of 1000queries with multimedia per rolling week.How to request a limit increaseIf you have questions or concerns about the impact of your limits on your research, contact "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7f554c0dfce2c78fb62ea570cdeef965161758732de8d9c90dea4a2fc91a9d55
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Rate limiting - Content Library and API.pdf", "source_id": "2fc00f28754e8693ead7f88161fad11921de723aee53044f32a9a8bf77a66112", "page_number": 2, "split_id": 1, "split_idx_start": 1777, "chroma:document": "if thatenvironment supports including multimedia in posts, there is an additional query budget of 1000queries with multimedia per rolling week.How to request a limit increaseIf you have questions or concerns about the impact of your limits on your research, contact usthrough Direct Support.Limit reached messagingContent LibraryContent Library warns you when you get close to the maximum number of data records retrievedper seven-day rolling window (query budget) with a banner at the top of the page. This is anexample of what the banner looks like:\nWhen you reach your query budget, you will see a di\ufb00erent banner at the top of the page that lookslike this:\fThe banner has a \"Learn more\" link, which will open the following message with additional detailsabout rate limits:\nContent Library APIIf you reach the maximum number of queries per minute (rate limit) in Content Library API, you willsee a log message indicating that the system will retry your last request after a wait time.This is an example of what the message looks like:\nIf you reach the maximum number of data records retrieved per seven-day rolling window (querybudget), you will see an error message indicating that you have reached your allotted query budgetand recommending that you retry your latest query later. In this case, the system does not handleretrying the request for you.This is an example of what the message looks like:\nTips for staying below the limitsIn general, searching for common words and requesting to fetch all the results can exhaust your\fquery budget. Consider narrowing your searches for more targeted results.Get your current usageUse query_budget endpoint to check your maximum number of data records retrieved per rolling7-day period (query budget) and how much of that budget you have already used\nThis is a sample of the output: [{'current_usage': 101000, 'preallocated_rows_for_running_queries': 0, 'total_usage': 101000, 'max_usage_limit': 500000, 'timestamp': 'Tuesday, July 18, 2023 "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 220841e77ced1b4b3261c723188db447676566e0ed255611407e3a03037bdaa5
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Rate limiting - Content Library and API.pdf", "source_id": "2fc00f28754e8693ead7f88161fad11921de723aee53044f32a9a8bf77a66112", "page_number": 4, "split_id": 2, "split_idx_start": 3447, "chroma:document": "maximum number of data records retrieved per rolling7-day period (query budget) and how much of that budget you have already used\nThis is a sample of the output: [{'current_usage': 101000, 'preallocated_rows_for_running_queries': 0, 'total_usage': 101000, 'max_usage_limit': 500000, 'timestamp': 'Tuesday, July 18, 2023 06:03:05 PM PDT', 'comments': { 'current_usage': 100000, 'preallocated_rows_for_running_queries': 0, 'total_usage': 100000, 'max_usage_limit': 500000}}]current_usage is the number of results already returned by completed queries in the current7-day rolling time window as of the current timestamp.preallocated_rows_for_running_queries is the number of results (rows) allocated forasynchronous queries that are in progress.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get(path=\"query_budget\")jsonlite::fromJSON(response$text, flatten = TRUE)\nR\nPython\ftotal_usage is the sum of current_usage and preallocated_rows_for_running_queries.max_usage_limit is the maximum number of queries allowed in a 7-day rolling window.timestamp marks the point in time at which these statistics were collected.Current usage for commentsIf you are using the Meta Content Library API to also fetch comments, comment-specific querybudget is also available as comments JSON object with the following fields:comments.current_usage is the number of comment results already returned by completedqueries in the current 7-day rolling time window as of the current timestamp.comments.preallocated_rows_for_running_queries is the number of comment results (rows)allocated for asynchronous queries that are in progress.comments.total_usage is the sum of current_usage andpreallocated_rows_for_running_queries.comments.max_usage_limit is the maximum number of queries allowed in a 7-day rollingwindow.Current usage for multimediaIf you are using the Meta Content Library API in an approved third-party cleanroom environment (asopposed to Meta's Researcher Platform), and if that environment supports including multimedia inposts, multimedia-specific query budget usage is also available as a multimedia JSON object withthe following fields:multimedia.total_usage is the number of calls with multimedia in the current 7-day rolling timewindow as of the current timestamp.multimedia.max_usage_limit is the maximum number of calls with media allowed in a 7-dayrolling window.The query budget specific to queries containing multimedia is 1000 queries per 7-day rollingwindow.Estimate response size for asynchronous queriessummary param "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 166753e5c8ac7f955e60408c003801fb5984b88ef10ae06b320fe4d94ab95a1f
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Rate limiting - Content Library and API.pdf", "source_id": "2fc00f28754e8693ead7f88161fad11921de723aee53044f32a9a8bf77a66112", "page_number": 5, "split_id": 3, "split_idx_start": 5762, "chroma:document": "7-day rolling timewindow as of the current timestamp.multimedia.max_usage_limit is the maximum number of calls with media allowed in a 7-dayrolling window.The query budget specific to queries containing multimedia is 1000 queries per 7-day rollingwindow.Estimate response size for asynchronous queriessummary param in search that gives you a rough idea of how much data would be returned from asearch you plan to run asynchronously. See Estimating response size and Asynchrounous search inthe Search Guide for more information on these topics.\fIt can also be used for the same purpose for edges of entities that return multiple data (forexample, \u2018comments\u2019). See asynchronous edge fetching in the ID-based retrieval for moreinformation around this topic.Points to keep in mind:The API can only return up to 100,000 results from a single asynchronous query, so it can behelpful to know in advance if your query is likely to fail because the response size is too large.The query budget of 500,000 results in a rolling seven-day window can be used up quicklyon just a few queries with high predicted results.If the estimate comes out higher than 100,000, you might consider modifying the parameters toreduce the response size. You can continue to modify the search parameters and get newestimates until the search results are predicted to fall below the maximum allowed or close to theresponse size you prefer.This is typically most useful for post searches or comments fetching because the number of resultstend to be higher, but it can be used to estimate the number of results that would be returned byany query.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Request an estimate:response <- client$get( path=\"search/facebook_posts\", params=list(\"q\"=\"dogs\", \"summary\" = TRUE, \"limit\"= 0))# Display the estimate jsonlite::fromJSON(response$text, flatten = TRUE)Estimating comments\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesThe following examples are for Facebook comments, but the same structure applies to Instagramcomments.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Request "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7137bfa145d5a2eb449be2908c372b83fd62d141df2010e0a830fc38533e2b25
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Rate limiting - Content Library and API.pdf", "source_id": "2fc00f28754e8693ead7f88161fad11921de723aee53044f32a9a8bf77a66112", "page_number": 6, "split_id": 4, "split_idx_start": 7557, "chroma:document": "path=\"search/facebook_posts\", params=list(\"q\"=\"dogs\", \"summary\" = TRUE, \"limit\"= 0))# Display the estimate jsonlite::fromJSON(response$text, flatten = TRUE)Estimating comments\nR\nPython\fContent Library and APIGet accessQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesThe following examples are for Facebook comments, but the same structure applies to Instagramcomments.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Request an estimate:response <- client$get( path=\"1927859627616307/comments\", params=list(\"fields\" = \"text\", \"summary\" = TRUE, \"limit\"= 0))# Display the estimate jsonlite::fromJSON(response$text, flatten = TRUE)Learn moreGetting startedData dictionarySearch guideID-based retrieval\nR\nPython\fFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 8fc2564227637f37939e04886dd5e0f35bf441760bd94d91510af95f8165af9e
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search guide - Content Library and API.pdf", "source_id": "84db45bf492efb579c3e70895e60c1dfcb994fcd7f7b285f11f84f67e8bb255f", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIContent Library APIGuidesSearch guideSu questa PaginaSearch guide\nHow search worksQueries in Meta Content Library and API are powered by a version of Facebook\u2019s search engineinfrastructure, which relies on a combination of indexing and ranking to return relevant entities.The retrieval function combines matched and ranked IDs from a query using the same distributedmemory caching layer which serves live platform content. This ensures that results represent themost current state of content on the platform and meet privacy-preserving visibility criteria (seeFrequently asked questions for details).As content is created or modified on Meta platforms, associated entities are registered to a searchindex built from individual words extracted from text fields as tokens. Tokenization generallyisolates words separated by spaces or punctuation ( ?@$%^*()+=~[{}];:\"<>|. ), with some URLnormalization and locale-specific adjustments for non-English languages. Tokenization is exact, inthat it does not introduce additional word variants (\"cats\" will not be tokenized to \"cat\"). Directmentions of users or other platform entities (via @) are not tokenized and not searchable. Directmentions are scrubbed from returned text fields if the user does not meet eligibility criteria forproducer.At query time, relevant content is identified by exact matching between tokens and individualsearch terms. Candidate matches are then subject to additional filtering via Boolean query logic(see Advanced search guidelines) and other selected filters. Matching is performed independentlyby word in a query, meaning that searching by phrase is not supported (queries \u201cAll for one\u201d and\u201cOne for all\u201d are equivalent).Search endpoints in the APIThe Content Library API uses search endpoints to extract a subset of data from an extremely largeonline database. Each search endpoint specifies the search path to be used and sets the values of\fthe parameters that determine which data will be returned.The parameters accepted by each search are described in the search guides.The following sections describe how to use search endpoints to "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: be8e07f27ebb97f9a8880164a856267eca1215b88360f3de23df30d4983beed9
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search guide - Content Library and API.pdf", "source_id": "84db45bf492efb579c3e70895e60c1dfcb994fcd7f7b285f11f84f67e8bb255f", "page_number": 1, "split_id": 1, "split_idx_start": 1890, "chroma:document": "specifies the search path to be used and sets the values of\fthe parameters that determine which data will be returned.The parameters accepted by each search are described in the search guides.The following sections describe how to use search endpoints to achieve various objectives,providing query examples in both R and Python.Basic synchronous search with paginated resultsResponse formatsAltering search parametersAsynchronous searchEstimating response sizeBasic synchronous search with paginated resultsUnless you specify otherwise, a search endpoint is synchronous in nature, meaning that you submitthe query and wait for the results, and you cannot submit another until the first one finishes.Synchronous search results display 10 results at a time (a \"page\") and you request the next pagesone by one. You can use the limit parameter to update the number of entries returned per page,with a maximum of 500 entries. This type of search is most useful when the data matching thesearch criteria is expected to be small or when you just want to sample some results to see if theyare appropriate for your research and don't necessarily need to see everything. This can be a stepin the process of fine-tuning your search criteria.Synchronous searches can return a maximum of 1,000 results. When you need a larger setof results, use asynchronous searches.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)response <- client$get( path = \"search/facebook_posts\", params = list( \"q\" = \"mountains\", \"since\" = \"1072915200\",\nR\nPython\fAsynchronous searchAsynchronous searching capability is available for when you want to work with all of the datareturned from a search, up to the search results limit that applies to every individual asynchronoussearch. Asynchronous searches can take some time (minutes to days) to complete because theyreturn all of the data requested, not just one page at a time. However, because the search happensin the background, you don't have to wait for the results before submitting another search or doingother work. "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 4f40283207ed59d78ce0b84bdc1149ad630f24e089811aba37444fba6cf63d6b
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search guide - Content Library and API.pdf", "source_id": "84db45bf492efb579c3e70895e60c1dfcb994fcd7f7b285f11f84f67e8bb255f", "page_number": 3, "split_id": 2, "split_idx_start": 3774, "chroma:document": "to days) to complete because theyreturn all of the data requested, not just one page at a time. However, because the search happensin the background, you don't have to wait for the results before submitting another search or doingother work. Once the search results are ready, you can fetch them.The search result limit for each asynchronous search is 100,000 results. See Estimating responsesize.Researcher Platform also has an asynchronous search feature, but that is strictly for staticdatabase use and does not work the same way. With Content Library API, you can only usethe async_search endpoints described here.When you submit an asynchronous search, the API returns a handle id indicating the successfulsubmission of the asynchronous query if the expected results are below the 100,000 search resultslimit, and an error message if the expected results are over the limit.If the search is successfully submitted, you can check on the status and receive eitherIN_PROGRESS or COMPLETE.Use the get_status() method to get the status and the get_data` method to get the data: \"until\" = \"1721058315\", ))all_posts <- list()while (client$has_next(response)) { text <- jsonlite::fromJSON(response$text, flatten = TRUE)$data all_posts <- dplyr::bind_rows(all_posts, text) response <- client$`next`(response)}all_posts\fWhen status shows COMPLETE, you can fetch the data. You can also write the data to a file, whichwill be stored in the /previous_searches/ folder in your Jupyter environment in JSON format.\nUse the get_all_async_queries() method to get a list of all your previously executedasynchronous searches.\nEstimating response sizelibrary(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientasync_utils <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIAsyncUtilsresponse <- client$get( path=\"async_search/facebook_posts\", params=list(\"q\"=\"mountains\", \"since\"=1072915200, \"until\"=1720820310))jsonlite::fromJSON(response$text, flatten = TRUE)# Check the status of an asynchronous querystatus_response <- async_utils$get_status(response=response)\n# Retrieve the results of an asynchronous query get_data_response = async_utils.get_data(response=response)# Write data to fileasync_utils$write_data_to_file(response=response)\nresponse = async_utils$get_all_async_queries()jsonlite::fromJSON(response$text, flatten=TRUE)\nR\nPython\nR\nPython\nR\nPython\fContent Library and APIGet accessUse the estimate param to get a rough idea of how much data would be returned from a searchyou have defined. Since the API "}


created_at: 2024-11-07 15:52:17
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: ff8327bd2c43be3bbe5a5ebc6b4c311e8a53eee05a5a6595c4cfc81e6d9fdf45
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search guide - Content Library and API.pdf", "source_id": "84db45bf492efb579c3e70895e60c1dfcb994fcd7f7b285f11f84f67e8bb255f", "page_number": 4, "split_id": 3, "split_idx_start": 5883, "chroma:document": "an asynchronous query get_data_response = async_utils.get_data(response=response)# Write data to fileasync_utils$write_data_to_file(response=response)\nresponse = async_utils$get_all_async_queries()jsonlite::fromJSON(response$text, flatten=TRUE)\nR\nPython\nR\nPython\nR\nPython\fContent Library and APIGet accessUse the estimate param to get a rough idea of how much data would be returned from a searchyou have defined. Since the API can only return up to 100,000 results from a single asynchronoussearch, it can be helpful to know in advance if your search is likely to fail because the response sizeis too large. If the estimate comes out higher than 100,000, consider modifying the parameters toreduce the response size. You can continue to modify the search parameters and get newestimates until the search results are predicted to fall below the maximum allowed.This is typically most useful for post searches because the number of results tend to be higher, butit can be used to estimate the size of data that would be returned by any search.library(reticulate)client <- import(\"metacontentlibraryapi\")$MetaContentLibraryAPIClientclient$set_default_version(client$LATEST_VERSION)# Request an estimate response <- client$get( path=\"search/facebook_posts\" , params=list(\"q\" = \"mountains\"), estimate=True)# Display the estimatejsonlite::fromJSON(response$text, flatten=TRUE)Learn moreRate limiting and query budgetingAdvanced search guidelinesSearch quality approach\nR\nPython\fQuick linksContent LibraryContent Library APIOverviewChangelogGetting startedGuidesFacebook PagesFacebook groupsFacebook eventsFacebook profilesFacebook postsFacebook commentsInstagram accountsInstagram postsInstagram commentsID-based retrievalSearch guideAdvanced searchRate limitingData deletionAppendixSupportDisclosures and DisclaimersCitations"}


created_at: 2024-11-07 15:52:18
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: fa0512a44f3e54b9a683cf3244aeeb5d08b5e374f0af8f6b1a99ef40af6372df
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search quality - Content Library and API.pdf", "source_id": "e178dc13f4a90bd335fda82cbe36f8bfe928a206f4a5bf18371888c3f6946936", "page_number": 1, "split_id": 0, "split_idx_start": 0, "chroma:document": "DocumentiContent Library and APIAppendixSearch qualitySu questa PaginaSearch quality approachThis document describes Meta's approach to search quality for Meta Content Library and API.\nDefinitionsEntities Objects in the social graph returned by Meta Content Library and Meta ContentLibrary API which generate or contain content and are associated with a unique ID in internalsystems. Includes Facebook Pages, groups, events and posts, as well as Instagram accountsand posts.Content Text and other data associated with entities, returned as fields in Meta ContentLibrary and API.Eligible / Visible Entities or content permitted to be returned in Meta Content Library and APIwhich meet privacy commitments and legal requirements. See Frequently asked questionsfor details.Endpoint Meta Content Library or API endpoint corresponding to a specific type of entity.Search overviewQueries in Meta Content Library and API are powered by a version of Facebook\u2019s search engineinfrastructure, which relies on a combination of indexing and ranking to return relevant entities.The retrieval function combines matched and ranked IDs from a query using the same distributedmemory caching layer which serves live platform content. This ensures that results represent themost current state of content on the platform and meet privacy-preserving visibility criteria (seeFrequently asked questions for details).As content is created or modified on Meta platforms, associated entities are registered to a search\findex built from individual words extracted from text fields as tokens. Tokenization generallyisolates words separated by spaces or punctuation ( ?@$%^*()+=~[{}];:\"<>|. ), with some URLnormalization and locale-specific adjustments for non-English languages. Tokenization is exact, inthat it does not introduce additional word variants (\"cats\" will not be tokenized to \"cat\"). Directmentions of users or other platform entities (via @) are not tokenized and are scrubbed fromreturned text fields, and are thus not searchable.At query time, relevant content is identified by exact matching between tokens and individualsearch terms. Candidate matches are then subject to additional filtering via Boolean "}


created_at: 2024-11-07 15:52:18
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: ee6dba2b24708f80a40de00371e5942eca4061da4337b1cd50af0015f0deaaa5
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search quality - Content Library and API.pdf", "source_id": "e178dc13f4a90bd335fda82cbe36f8bfe928a206f4a5bf18371888c3f6946936", "page_number": 2, "split_id": 1, "split_idx_start": 1919, "chroma:document": "(via @) are not tokenized and are scrubbed fromreturned text fields, and are thus not searchable.At query time, relevant content is identified by exact matching between tokens and individualsearch terms. Candidate matches are then subject to additional filtering via Boolean query logic(see Advanced search guidelines) and other selected filters. Matching is performed independentlyby word in a query, meaning that searching by phrase is not supported (queries \u201cAll for one\u201d and\u201cOne for all\u201d are equivalent).Initial testingWe expect our methodology to measure search quality to evolve over time. Here we outline a set ofinitial tests of search quality in the Meta Content Library and API. The systems which underliesearch are complex and the data models as well as privacy rules which determine content visibilityevolve over time, meaning that quality regressions can occur. Furthermore, as we develop theproduct, we welcome feedback about bugs or unexpected behavior from the user community. SeeAppendix on this page for details on reporting issues.MethodsInitial test queriesWe generated test search results for each endpoint (Facebook Pages, groups, events, and posts,and Instagram business and creator accounts, and posts) using a sample of 130 terms chosen tospan a breadth of set size (for example, obscure words such as stopthesteal and common wordssuch as spray), polarization (for example, neutral words such as sugar and socially charged wordssuch as transphobic), as well as most queried keywords by researchers in Meta platforms. Theseinitial test queries consisted of single terms all in English without non-Latin characters or anysymbols (for example \u2018, #, $ or @). Additional query parameters for each endpoint are listed in Testsearch scope for endpoints. Test queries resulting in > 100,000 results were excluded from furtheranalysis.Validation dataLists of expected entities for test queries were generated from regex-based full-text searches on aSQL-like database backend. Tables in this database are built from periodic snapshots "}


created_at: 2024-11-07 15:52:18
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 0c7b20fb40252dd02e692cc60034f887d281eed01f6e6dd03563903c1e9e31eb
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search quality - Content Library and API.pdf", "source_id": "e178dc13f4a90bd335fda82cbe36f8bfe928a206f4a5bf18371888c3f6946936", "page_number": 2, "split_id": 2, "split_idx_start": 3670, "chroma:document": "scope for endpoints. Test queries resulting in > 100,000 results were excluded from furtheranalysis.Validation dataLists of expected entities for test queries were generated from regex-based full-text searches on aSQL-like database backend. Tables in this database are built from periodic snapshots of logged\fplatform content and thus are known to di\ufb00er slightly from what is available in Meta Content Libraryand API at search time due to time lags and incomplete visibility filters. This dataset thusconstitutes a secondary validation channel rather than source of truth and regressions in qualitymetrics may be a composite of both true indexing errors and/or measurement noise. See Caveatsand known limitations.RecallIn principle, entities should be returned when (a) there is an exact match with search term(s), (b)the content is eligible to be retrieved, and (c) the total corpus of matching results does not exceedthe technical query limit of 100,000 results.We measured recall as follows:(entities returned) \u2229 (entities expected) / (entities expected)The following table shows the average of daily recall values across test queries from November 8th,2023 to November 15th, 2023.EndpointEndpoint20th percentile recall20th percentile recallMedianMedianFacebook Page96%98%Facebook group93%96%Facebook event90%93%Facebook post85%92%Instagram account98%99%Instagram post90%94%Rank recall\fResults which represent the top N results ordered by creation time or views should also becomplete. For Meta Content Library, which returns a truncated list of ranked results, we generateda ranked version of recall which is calculated as follows:(top N entities) \u2229 (top N expected entities) / (top N expected entities)The following table shows the average of daily recall values for the top 1000 results ranked bycreation time and view across test queries from November 8th, 2023 to November 15th, 2023.EndpointEndpoint20th percentile ranked20th percentile rankedrecallrecallMedian ranked recallMedian ranked recallFacebook post (ranked by creationtime)86%92%Instagram post (ranked by creationtime)64%75%Facebook post (ranked by view)52%63%Instagram post (ranked by view)62%73%PrecisionOnly results which exactly match search terms should be returned, excluding, for instance, partialindex matches "}


created_at: 2024-11-07 15:52:18
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 7f72980384488ad61c7a8aa64f7767e25a6e27ddfdb77df1d374cfad8285d642
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search quality - Content Library and API.pdf", "source_id": "e178dc13f4a90bd335fda82cbe36f8bfe928a206f4a5bf18371888c3f6946936", "page_number": 4, "split_id": 3, "split_idx_start": 5551, "chroma:document": "15th, 2023.EndpointEndpoint20th percentile ranked20th percentile rankedrecallrecallMedian ranked recallMedian ranked recallFacebook post (ranked by creationtime)86%92%Instagram post (ranked by creationtime)64%75%Facebook post (ranked by view)52%63%Instagram post (ranked by view)62%73%PrecisionOnly results which exactly match search terms should be returned, excluding, for instance, partialindex matches (broom \u2192 broomstick) or fuzzy matches (broom \u2192 mop). Precision was measuredas:(returned entities matching query exactly) / (all returned entities)The following table shows the range in average daily precision values across test queries byendpoint from November 8th, 2023 to November 15th, 2023.EndpointEndpoint20th percentile precision20th percentile precisionMedian Median precisionprecisionFacebook Page99%99%\fFacebook group99%99%Facebook event99%99%Facebook post99%99%Instagram account97%98%Instagram post98%99%RepresentativenessIn cases where incomplete results are returned (recall < 100%), results may be useful provided theyare not overly biased (that is, they are consistent with a random uniform sample of the completeresults). We measured representativeness using a series of statistical tests for bias at the individualquery level.Query-level biasFor each test query we compared whether a summary statistic (mean, for example) calculatedusing the results from the Meta Content Library API reasonably approximated results obtained fromthe validation dataset (which has high recall). Across several data dimensions includingengagement, exposure, and creator demographics, we performed a series of t-tests comparingmeans derived from the Meta Content Library API to means derived from the validation dataset. Wethen calculated the percent of queries which lacked statistically significant evidence of bias (p >0.05). Finally, we calculated the mean of metrics across all dimensions.We performed two versions of this test using methods which di\ufb00ered in their level of sensitivity tosmall di\ufb00erences between Meta Content Library API results and validation data. In the first version,we used a Welch\u2019s T-test, which is appropriate for detecting major distributional di\ufb00erencesbetween datasets that might a\ufb00ect inference about population-level traits. It is less sensitive tosmall di\ufb00erences between datasets and we expect most appropriate for research use casesinvolving trends and summaries.The following table "}


created_at: 2024-11-07 15:52:18
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 6d85289fa1dc1f4d2ce91a28491bbf6ce5e30439f9d17fd66fccc175e015c412
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search quality - Content Library and API.pdf", "source_id": "e178dc13f4a90bd335fda82cbe36f8bfe928a206f4a5bf18371888c3f6946936", "page_number": 5, "split_id": 4, "split_idx_start": 7656, "chroma:document": "Welch\u2019s T-test, which is appropriate for detecting major distributional di\ufb00erencesbetween datasets that might a\ufb00ect inference about population-level traits. It is less sensitive tosmall di\ufb00erences between datasets and we expect most appropriate for research use casesinvolving trends and summaries.The following table shows average daily percent of test queries generating non-biased results using\fa Welch\u2019s T-test across endpoints from November 8th, 2023 to November 15th, 2023.EndpointEndpointRepresentativeness - Welch t-testRepresentativeness - Welch t-testFacebook Page96%Facebook group86%Facebook event78%Facebook post86%Instagram account97%Instagram post96%In the second version of the query-level bias test we compared Meta Content Library API andvalidation datasets using a pairwise t-test (incorporating covariance between samples). This test ismore powered to detect di\ufb00erences between datasets and appropriate for assessing whether smallsubsets of entities may be missing or over-represented. For instance, this metric could highlightsignificant bias even with 98% recall and a negligible di\ufb00erence in means, due to any imbalance inthe remaining data. Given known issues with the validation dataset failing to exclude someineligible entities based on visibility criteria, we expect these measures to be more conservativeand likely underestimates of representativeness.The following table shows percent of test queries generating non-biased results using a paired t-test across endpoints from November 8th, 2023 to November 15th, 2023.EndpointEndpointRepresentativeness - paired t-testRepresentativeness - paired t-testFacebook Page80%Facebook group54%\fFacebook event41%Facebook post53%Instagram account74%Instagram post64%Search quality measurement expansionWhile in initial testing we focused on English to measure the search quality, in our expansion, weextended the exact same methodology to other languages and advanced search (search with logicoperators AND, OR and NOT).Other languagesWe used the same methodology to measure the search quality of the queries in Arabic, German andHindi. These languages were selected based on the language features that the team believe aremost likely to impact search quality. The features that the team considered are diacritics (such asaccents), non-Roman characters, and right-to-left. We also wanted to cover "}


created_at: 2024-11-07 15:52:18
topic: persistent://default/default/0084ccb6-b27e-4ea2-92e1-37bea2d6cc25
id: 87ba77866f592496c9abba88e5f600e55c05b4c35c0e1a3ca824c02ace253fe4
encoding: FLOAT32
metadata:
{"file_path": "C:\\Users\\Emile\\Documents\\Opsci\\Code\\git\\ENOPrompt\\data\\chatbot_40_12\\KB_4012\\META\\Search quality - Content Library and API.pdf", "source_id": "e178dc13f4a90bd335fda82cbe36f8bfe928a206f4a5bf18371888c3f6946936", "page_number": 7, "split_id": 5, "split_idx_start": 9744, "chroma:document": "German andHindi. These languages were selected based on the language features that the team believe aremost likely to impact search quality. The features that the team considered are diacritics (such asaccents), non-Roman characters, and right-to-left. We also wanted to cover at least one non-EnglishEuropean language.Based on the analysis, we learned:The overall search quality of all the new languages is about the same level as English singlekeywords.The precision is over 95% for all endpoints in new languages.Since the search quality is reasonable for these languages, we expect to see very similarresults for most other languages too.The following table shows all metric values across test queries by language and endpoint fromNovember 8th, 2023 to November 15th, 2023. Representativeness is an average across alldimensions that are mentioned in the representativeness section.\fLanguageLanguageEndpointEndpointRecallRecallPrecisionPrecisionRepresentativenessRepresentativeness- paired t-- paired t-testtestRepresentativenessRepresentativeness- Welch t-- Welch t-testtestArabicFacebookPage96%99%93%99%ArabicFacebookgroup92%99%41%61%ArabicFacebookevent82%99%80%97%ArabicFacebook post9199%70%94%ArabicInstagramaccount93%99%87%91%ArabicInstagram post80%99%85%97%GermanFacebookPage97%99%96%99%GermanFacebookgroup95%99%76%95%GermanFacebookevent95%99%67%94%GermanFacebook post8899%73%96%GermanInstagramaccount99%99%95%99%\fGermanInstagram post91%98%88%99%HindiFacebookPage96%99%93%99%HindiFacebookgroup96%99%39%61%HindiFacebookevent87%99%77%96%HindiFacebook post9299%71%95%HindiInstagramaccount97%99%94%100%HindiInstagram post73%99%80%96%We are also aware of a few limitations that our system has for other languages. The limitations areas follows:Meta Content Library API does not read any keywords with \u201c\u00df\u201d in German or semi-space (half-space) in Arabic.In Arabic, a word can be written with and without diacritics. Content Library API can only findthe exact match for each form. Thus, if a researcher wants to find all posts related to thatkeyword, they have to search all forms of those keywords to get full results. For example, if aresearcher need to find all post related to term \ufee3\ufeec\ufe8e\ufe9f\ufeaethey need to search \ufeae\u0650\ufeec\ufe8e\ufe9f\u064f\ufee3or \ufeec\ufe8e\ufe9f\ufeae\u064f\ufee3or\ufeae\u0650\ufee3\ufeec\ufe8e\ufe9for \ufee3\ufeec\ufe8e\ufe9f\ufeaeto get all the results.Advanced searchAdvanced search includes searching keyword combinations with logic operators AND, OR and NOT.The following table shows all metric values across advanced search test queries by endpoint from\fNovember 8th, 2023 to November 15th, 2023. Representativeness is an average across alldimensions that are mentioned in the representativeness section.Entity typeEntity typeRecallRecallRepresentativeness -Representativeness -Paired t-testPaired t-testRepresentativeness -Representativeness -Welch "}


