Lime
Lime's Google search tool sends its calls to the address in GOOGLE_SEARCH_ENDPOINT. Set it to https://api.specstream.ai/customsearch/v1 with a SpecStream key, and the same request gets the same Google JSON back, searched on the live web, at $1 per 1,000 searches.
What you need
- Lime, the desktop app or the CLI (
npm install -g @limecloud/lime). - A SpecStream API key. New accounts get $10 of credit on sign-up, no card.
- 1
1. Get a key
Get your key on the Search API screen of your SpecStream workspace. It takes the place of the Google Cloud API key, and no Google project or engine is needed.
- 2
2. Set the variables Lime reads
Set these in the environment that starts Lime or its App Server, then start Lime from it.
WEB_SEARCH_PROVIDERputs the Google tool first. Without it, Lime tries Tavily and its built-in multi-engine search before Google, and a search may never reach the address you set.Terminal - 3
3. Keep an engine ID
Lime stops the Google tool when
GOOGLE_SEARCH_ENGINE_IDis missing, so set it. Your old Programmable Search Engine ID works, and so does any word: SpecStream acceptscxand does not use it.GOOGLE_SEARCH_ENDPOINTtakes the whole search address, path included, and must start withhttporhttps. - 4
4. Check the call Lime sends
Lime asks for
key,cx,qandnum=10. Send the same call once. A200withitemsmeans Lime gets the same answer. It costs one search.Terminal - 5
5. Search from a task
Give Lime a task that needs the web. Each search shows up in your SpecStream request log with its price.
What changes and what stays
Lime reads items[].title, link and snippet from Google's reply. SpecStream answers in Google's shape, so Lime's code does not change.
| Lime setting | With Google | With SpecStream |
|---|---|---|
GOOGLE_SEARCH_ENDPOINT | Unset: https://www.googleapis.com/customsearch/v1 | https://api.specstream.ai/customsearch/v1 |
GOOGLE_SEARCH_API_KEY | A Google Cloud API key | Your SpecStream key, sent as key= |
GOOGLE_SEARCH_ENGINE_ID | Your Programmable Search Engine ID | Any value: cx is accepted and not used |
| Results per search | 10 (num=10) | 10, in Google's JSON |
| New keys | Closed to new customers, ends January 1, 2027 | Open, with $10 of credit and no card |
Why the Google tool needs a new address
Google's Custom Search JSON API (opens in a new tab) is closed to new customers, and existing customers have until January 1, 2027 to move. A Lime install that searches with Google needs another address that answers the same call by then.
Bing through the same account
Lime's Bing tool reads BING_SEARCH_ENDPOINT the same way and sends the key in Ocp-Apim-Subscription-Key. Set BING_SEARCH_ENDPOINT to https://api.specstream.ai/v7.0/search and BING_SEARCH_API_KEY to your SpecStream key. To try both in order, set WEB_SEARCH_PROVIDER_PRIORITY=google_custom_search,bing_search_api in place of WEB_SEARCH_PROVIDER.
When a search falls through
Lime does not stop at one provider. An address that is not a valid URL, an error, or an empty answer moves the search to the next provider in its order: the ones you named first, then Tavily, the multi-engine search, Bing, Google and DuckDuckGo Instant Answers.
If your request log shows no searches, the variables did not reach Lime. An app opened from the Dock or the Start menu does not read the variables of your shell, so start Lime from the shell where you set them.
Cost
Each search Lime sends is one fast web search: $1 per 1,000 searches of up to 10 results, from your balance, with no quote and no approval. A search that returns no results costs nothing. New accounts start with $10 of credit, no card. Search API scores and method are on benchmarks.
Undo
Unset GOOGLE_SEARCH_ENDPOINT and Lime goes back to Google's address. Revoke the key under Agents & API to stop it everywhere. Other apps that call Google's API are on open-source apps on Google Custom Search. Questions go to [email protected].
More
SpecStream for Lime covers what it does in Lime on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and the matches are paid from your balance. Billing has the details. For help, email [email protected].