{"id":62537,"date":"2019-04-29T00:00:00","date_gmt":"2019-04-29T07:00:00","guid":{"rendered":"http:\/\/blog.mozilla.org\/foxtail\/2019\/04\/29\/facebooks-ad-archive-api-is-inadequate\/"},"modified":"2022-10-27T13:23:15","modified_gmt":"2022-10-27T20:23:15","slug":"facebooks-ad-archive-api-is-inadequate","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/","title":{"rendered":"Facebook\u2019s Ad Archive API is Inadequate"},"content":{"rendered":"<h2><i>Facebook\u2019s tool meets only two of experts\u2019 five minimum standards. That\u2019s a failing grade.<\/i><\/h2>\n<p>\u00a0<\/p>\n<p>Facebook <a href=\"https:\/\/blog.mozilla.org\/blog\/2019\/02\/13\/facebook-answers-mozillas-call-to-deliver-open-ad-api-ahead-of-eu-election\/\">pledged<\/a> in February to release an ad archive API, in order to make political advertising on the platform more transparent. The company finally <a href=\"https:\/\/newsroom.fb.com\/news\/2019\/03\/a-better-way-to-learn-about-ads\/\">released this API<\/a> in late March \u2014 and we\u2019ve been doing a review to determine if it is up to snuff.<\/p>\n<p>While we appreciate Facebook following through on its commitment to make the ad archive API public, its execution on the API leaves something to be desired. The European Commission also hinted at this <a href=\"https:\/\/ec.europa.eu\/newsroom\/dae\/document.cfm?doc_id=58806\">last week<\/a> in its analysis when it said that &#8220;further technical improvements&#8221; are necessary.<\/p>\n<p>The fact is, the API doesn\u2019t provide necessary data. And it is designed in ways that hinders the important work of researchers, who inform the public and policymakers about the nature and consequences of misinformation.<\/p>\n<p>Last month, Mozilla and more than sixty researchers <a href=\"https:\/\/blog.mozilla.org\/blog\/2019\/03\/27\/facebook-and-google-this-is-what-an-effective-ad-archive-api-looks-like\/\">published five guidelines<\/a> we hoped Facebook\u2019s API would meet. Facebook\u2019s API fails to meet three of these five guidelines. It\u2019s too early to determine if it meets the two other guidelines. Below is our analysis:<\/p>\n<p style=\"padding-left: 40px;\"><b>[1]<\/b> \u274c<\/p>\n<p style=\"padding-left: 40px;\"><b>Researchers\u2019 guideline<\/b>: A functional, open API should have comprehensive political advertising content.<\/p>\n<p style=\"padding-left: 40px;\"><b>Facebook\u2019s API<\/b>: It\u2019s impossible to determine if Facebook\u2019s API is comprehensive, because it requires you to use keywords to search the database. It does not provide you with all ad data and allow you to filter it down using specific criteria or filters, the way nearly all other online databases do. And since you cannot download data in bulk and ads in the API are not given a unique identifier, Facebook makes it impossible to get a complete picture of all of the ads running on their platform (which is <a href=\"https:\/\/www.facebook.com\/ads\/library\">exactly the opposite of what they claim to be doing<\/a>).<\/p>\n<hr \/>\n<p style=\"padding-left: 40px;\"><b>[2] \u274c<\/b><\/p>\n<p style=\"padding-left: 40px;\"><b>Researchers\u2019 guideline<\/b>: A functional, open API should provide the content of the advertisement and information about targeting criteria.<\/p>\n<p style=\"padding-left: 40px;\"><b>Facebook\u2019s API<\/b>: The API provides no information on targeting criteria, so researchers have no way to tell the audience that advertisers are paying to reach. The API also doesn\u2019t provide any engagement data (e.g., clicks, likes, and shares), which means researchers cannot see how users interacted with an ad. Targeting and engagement data is important because it lets researchers see what types of users an advertiser is trying to influence, and whether or not their attempts were successful.<\/p>\n<hr \/>\n<p style=\"padding-left: 40px;\"><b>[3]<\/b><\/p>\n<p style=\"padding-left: 40px;\"><b>Researchers\u2019 guideline<\/b>: A functional, open API should have up-to-date and historical data access.<\/p>\n<p style=\"padding-left: 40px;\"><b>Facebook\u2019s API<\/b>: Ad data will be available in the archive for seven years, which is actually pretty good. Because the API is new and still hasn\u2019t been properly populated, we cannot yet assess whether it is up-to-date, whether bugs will be fixed, or whether Facebook will support long-term studies.<\/p>\n<hr \/>\n<p style=\"padding-left: 40px;\"><b>[4]<\/b><\/p>\n<p style=\"padding-left: 40px;\"><b>Researchers\u2019 guideline<\/b>: A functional, open API should be accessible to and shareable with the general public.<\/p>\n<p style=\"padding-left: 40px;\"><b>Facebook\u2019s API<\/b>: This data is now available as part of Facebook\u2019s standard GraphAPI and governed by Facebook Developers Terms of Service. It is too early to determine what exact constraints this will create for public availability and disclosure of data.<\/p>\n<hr \/>\n<p style=\"padding-left: 40px;\"><b>[5] \u274c<\/b><\/p>\n<p style=\"padding-left: 40px;\"><b>Researchers\u2019 guideline<\/b>: A functional, open API should empower, not limit, research and analysis.<\/p>\n<p style=\"padding-left: 40px;\"><b>Facebook\u2019s API<\/b>: The current API design puts huge constraints on researchers, rather than allowing them to discover what is really happening on the platform. The limitations in each of these categories, coupled with search rate limits, means it could take researchers months to evaluate ads in a certain region or on a certain topic.<\/p>\n<p>\u00a0<\/p>\n<p>It\u2019s not too late for Facebook to fix its API. We hope they take action soon. And, we hope bodies like the European Commission carefully scrutinize the tool\u2019s shortcomings.<\/p>\n<p>Mozilla will also be conducting an analysis of Google\u2019s ad API when it is released in the coming weeks. Since Facebook\u2019s ad archive API fails to let researchers do their jobs ahead of the upcoming European Parliamentary elections, we hope that Google will step up and deliver an API that enables this important research.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Facebook\u2019s tool meets only two of experts\u2019 five minimum standards. That\u2019s a failing grade. \u00a0 Facebook pledged in February to release an ad archive API, in order to make political advertising on the platform more transparent. The company finally released this API in late March \u2014 and we\u2019ve been doing a review to determine if [&hellip;]<\/p>\n","protected":false},"author":144,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"coauthors":[306191],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Facebook\u2019s Ad Archive API is Inadequate<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/\",\"url\":\"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/\",\"name\":\"Facebook\u2019s Ad Archive API is Inadequate\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/en\/#website\"},\"datePublished\":\"2019-04-29T07:00:00+00:00\",\"dateModified\":\"2022-10-27T20:23:15+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/en\/#\/schema\/person\/33edd7d4d73723140487082573041c83\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Facebook\u2019s Ad Archive API is Inadequate\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/en\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/en\/\",\"name\":\"The Mozilla Blog\",\"description\":\"News and Updates about Mozilla\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/en\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/en\/#\/schema\/person\/33edd7d4d73723140487082573041c83\",\"name\":\"Mozilla\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/en\/#\/schema\/person\/image\/f32381c01597770b1131dff44b9d6de1\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f84bd67e8e3ab3bcc9676910aecf5700?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f84bd67e8e3ab3bcc9676910aecf5700?s=96&d=mm&r=g\",\"caption\":\"Mozilla\"},\"url\":\"https:\/\/blog.mozilla.org\/en\/author\/mozilla\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Facebook\u2019s Ad Archive API is Inadequate","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/","url":"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/","name":"Facebook\u2019s Ad Archive API is Inadequate","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/en\/#website"},"datePublished":"2019-04-29T07:00:00+00:00","dateModified":"2022-10-27T20:23:15+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/en\/#\/schema\/person\/33edd7d4d73723140487082573041c83"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/en\/mozilla\/facebooks-ad-archive-api-is-inadequate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/en\/"},{"@type":"ListItem","position":2,"name":"Facebook\u2019s Ad Archive API is Inadequate"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/en\/#website","url":"https:\/\/blog.mozilla.org\/en\/","name":"The Mozilla Blog","description":"News and Updates about Mozilla","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/en\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/en\/#\/schema\/person\/33edd7d4d73723140487082573041c83","name":"Mozilla","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/en\/#\/schema\/person\/image\/f32381c01597770b1131dff44b9d6de1","url":"https:\/\/secure.gravatar.com\/avatar\/f84bd67e8e3ab3bcc9676910aecf5700?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f84bd67e8e3ab3bcc9676910aecf5700?s=96&d=mm&r=g","caption":"Mozilla"},"url":"https:\/\/blog.mozilla.org\/en\/author\/mozilla\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/posts\/62537"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/users\/144"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/comments?post=62537"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/posts\/62537\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/media?parent=62537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/categories?post=62537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/tags?post=62537"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/en\/wp-json\/wp\/v2\/coauthors?post=62537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}