Google Custom Search JSON API alternative: same requests, same JSON

Google Custom Search API Alternative is an Apify Actor that replaces Google's Custom Search JSON API, which Google has closed to new customers and retires on 1 January 2027. It answers the same /customsearch/v1 requests with the same JSON (items with title, link, displayLink and snippet, plus image search), built from live Google results, at $5 per 1,000 searches with no daily cap.

Run it on Apify $5 per 1,000 searches of up to 10 results ($4 on Gold and above)

Quick facts

Example input

{
  "queries": [
    "best project management software"
  ],
  "maxResultsPerQuery": 10
}

Run it from code

REST API (cURL)

curl -X POST "https://api.apify.com/v2/acts/automationnation~google-custom-search-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries": ["best project management software"], "maxResultsPerQuery": 10}'

Python

# pip install apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automationnation/google-custom-search-api").call(run_input={
  "queries": [
    "best project management software"
  ],
  "maxResultsPerQuery": 10
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item.get("title"), item.get("link"), item.get("displayLink"), item.get("snippet"))

JavaScript / Node.js

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automationnation/google-custom-search-api').call({
  "queries": [
    "best project management software"
  ],
  "maxResultsPerQuery": 10
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item.title, item.link, item.displayLink, item.snippet);

Use it with AI agents (MCP)

Connect AI assistants such as Claude, ChatGPT or Cursor through Apify's MCP server. Hosted URL:

https://mcp.apify.com?tools=automationnation/google-custom-search-api

Or run it locally in Claude Desktop / Cursor:

{
  "mcpServers": {
    "google-custom-search-api": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server",
        "--tools",
        "automationnation/google-custom-search-api"
      ],
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_TOKEN"
      }
    }
  }
}

FAQ

When does the Custom Search JSON API stop working?

Google closed it to new customers and says existing customers have until 1 January 2027 to move to an alternative.

Do I have to rewrite my code?

No. Change the endpoint to https://automationnation--google-custom-search-api.apify.actor/customsearch/v1 and send an Apify API token instead of the Google key; the parameters and the JSON response stay the same.

Can I keep my Programmable Search Engine's site list?

Not through cx, which is ignored. Pass one site as siteSearch, or several in the query as site:a.com OR site:b.com.

What does it cost?

$5 per 1,000 searches of up to 10 results ($4.50 on Silver, $4 on Gold and above), with no daily cap. Google charged $5 per 1,000 after 100 free queries a day; Apify's free plan includes $5 of monthly credit, about 1,000 searches.

Step-by-step guide: Google Custom Search JSON API shutting down in 2027? A drop-in replacement

Open Google Custom Search API Alternative on Apify Store