A method for modifying search queries related to television programs, the method comprising: at a server including a plurality of processors and storage and having access to a database of television program related information: receiving a user's search query related to a television program from an electronic device during a time window; identifying a first set of categories associated with the received search query; accessing television program related information to determine one or more television programs available at a location associated with the electronic device during the time window; for each television program of the one or more television programs: identifying a respective second set of categories associated with the respective television program; applying a matching function to the first set of categories and the respective second set of categories to calculate a respective score for the respective television program, wherein the score indicates the similarity between the first and respective second set of categories; determining that a first television program is currently being displayed in proximity to the electronic device based on the first television program having a highest respective score among the one or more television programs; determining additional search terms that are associated with both the first television program and the user's search query; and modifying the user's search query by adding the additional search terms. at a server including a plurality of processors and storage and having access to a database of television program related information: receiving a user's search query related to a television program from an electronic device during a time window; receiving a user's search query related to a television program from an electronic device during a time window; identifying a first set of categories associated with the received search query; accessing television program related information to determine one or more television programs available at a location associated with the electronic device during the time window; for each television program of the one or more television programs: identifying a respective second set of categories associated with the respective television program; applying a matching function to the first set of categories and the respective second set of categories to calculate a respective score for the respective television program, wherein the score indicates the similarity between the first and respective second set of categories; determining that a first television program is currently being displayed in proximity to the electronic device based on the first television program having a highest respective score among the one or more television programs; determining additional search terms that are associated with both the first television program and the user's search query; and modifying the user's search query by adding the additional search terms. identifying a respective second set of categories associated with the respective television program; applying a matching function to the first set of categories and the respective second set of categories to calculate a respective score for the respective television program, wherein the score indicates the similarity between the first and respective second set of categories; determining that a first television program is currently being displayed in proximity to the electronic device based on the first television program having a highest respective score among the one or more television programs; determining additional search terms that are associated with both the first television program and the user's search query; and modifying the user's search query by adding the additional search terms.