# Overview

We use the FCC's Political File for each broadcasting station to identify how much each Presidential candidate spends on media and TV advertising. We do so by getting data from the Orders, Contracts, and Invoices of the Political File for each broadcasting station.

We aim to extract the following fields from orders, contracts, and invoices if they are available:

1. Document details:
• Document Type: Whether the document is an INVOICE, ORDER, CONTRACT, OTHER_INVOICE_LIKE (for example, spots list which are listing schedules for TV ads, or make-good which are rebates and credits), NON_INVOICE_LIKE (for example, a candidate advertisement agreement form)
• Document Number: A unique identifier for a document. This identifier is unique in the invoices and contracts that are issued from a TV network.
• Reference Number: A reference to a connected document (for example, an order can reference a contract and vice versa)
• Document Date: The issue date as written in the document
• Revision Date: The revision date as written in the document (if applicable)
1. Product Details:
• Advertiser: For example, "Biden for President-D"
• Product Description: For example, "PA General" or the broadcast market area
• End Date: The scheduled end of the advertisement (usually a week)
1. Totals and Subtotals:
• Gross Total: Net sum + agency commission
• Agency Commission: Usually 15% of the gross total
1. Sender & Recipient:
• Sender Name: Sender of the document (usually a network or station)
• Recipient Name: Recipient of the document (usually an advertising agency)

These fields help identify the spendings on advertising and eliminate duplicates in the documents. For example, several revisions of a contract or different documents (such as invoices, contracts or orders) will reference the same advertising schedule, so we do not double count the revisions as multiple spendings.

# How We Extract The Data

The Political File for each broadcasting station is available via the FCC OPIF (Online Public Inspection Files) File Search API. Over the API endpoint https://www.fcc.gov/search/api (GET) each uploaded document in the political file can be downloaded by querying a search term on the file search, for example, Biden or Trump. For the API parameters, you can set a filter to narrow the results, for example, by office or campaign year.

The image below shows the API specifications.

The following filter is used to find the files for the TV advertisement files for the 2020 presidential elections.

f=[{"political_file_type":"PA"},{"source_service_code":"TV"},{"office_type":"Presidential"},{"campaign_year":"2020"} ]


Each returned dataset contains the following information (no additional details about the parameters are given on the FCC website).

"Id": unique(?) identifier
"file_id": unique document identifier
"file_name": filename as filed by the uploaded
"file_extension", "file_size": self-explanatory
"file_status": can be ['pending', 'upl', 'cvt', 'ins', 'cpy', 'err', 'err_cvt']
"folder_id": unique folder identifier
"create_ts"/ "last_update_ts": timestamps for first/last update of document
"active_ind": unknown
"file_manager_id": unique file manager id
"file_folder_path": path as named by the uploader
"full_qualified_file_name": path + filename
"entity_id": unique identifier for entity (=callsign?)
"source_service_code": (see Figure)
"network_affiliation": (see Figure)
"nielsen_dma_rank": Nielsen Designated Market Area (no rank given despite parameter name)
"political_file_type": "office_type": "campaign_year": (see Figure)
"_version_": unknown
"score": (probably) proximity of matching the filename/path to the query string


We can identify each file uniquely by using the parameters folder_id and file_manager_id, and these files can be downloaded using the endpoint https://publicfiles.fcc.gov/api/manager/download.