The FCC maintains a list of all TV,AM,FM stations in the CDBS database. The entire data base can be downloaded in a few minutes with a high speed internet connection. You only need a few files for TV. Each file is a pipe "|" delineated CSV text relational file. Its possible to derive a list of analog, actual digital, branded digital channel fand center frequency for every broadcaster in the US. I first started using dbase file structure; but now I find it easier to use sqlLite 3 database. It's also possible to use SQL; but full blown SQL command set is not necessary.It seems to be a well kept secret what frequencies TV stations actually use. The only way I know of, is to do research on the internet.
http://www.sqlite.org/
There is no server required for sqlite 3 data base just drop sqlite3.dll anf sqlite3.def into your project folder. There are many applications that will let you build a relational data base to view the data.
http://www.sqliteexpert.com/
The engineering database includes many parameters making it possible to determine expected signal strength, using point to point Longly and Rice irregular terrain method, between transmitter and receiver. The engineering data base does not directly contain callsign; but can easily linked using the application_ID field. Remember, even though it looks like a "|" pipe delineated CSV file it does have relational link fields.
CDBS files can be found at:
https://www.fcc.gov/media/radio/cdbs-database-public-files