Google’s Programmable Search Engine (previously known as Google Custom Search) enables you to create a search engine for your website, your blog, or a collection of websites. You can configure your engine to search both web pages and images. You can fine-tune the ranking, add your own promotions, and customize the search results look and feel. You can monetize the search by connecting your engine to your Google AdSense account.
Programmable Search Engine has four offerings available for use. Two of which are free plans, non-profits won’t have ads, but the standard plan is ad-supported.
Click here to find all their offerings and full documentation.