Search the web using Google via AceDataCloud API. Use when searching for web pages, images, news, maps, local places, or videos. Supports localization, time filtering, and pagination. Returns structured results with titles, snippets, URLs, and rich data.
17 stars
0 votes
0 copies
0 views
Added October 17, 2026
ai-agentsgoshellbashgitapi
Works with
terminal
api
mcp
Security analysis
A92/100
mediumInstalls packages at runtime which could introduce malicious dependencies
Installs into .claude/skills of the current project.
Are you the author of Google Search?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/acedatacloud-google-search)
---
name: google-search
description: Search the web using Google via AceDataCloud API. Use when searching for web pages, images, news, maps, local places, or videos. Supports localization, time filtering, and pagination. Returns structured results with titles, snippets, URLs, and rich data.
license: Apache-2.0
metadata:
author: acedatacloud
version: "1.0"
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (get an API key at https://platform.acedata.cloud/console/applications). Optionally pair with mcp-serp for tool-use.
---
# Google Search (SERP)
Search the web through AceDataCloud's Google SERP API.
## First-time setup
1. Install the official Skill with `clawhub install @acedatacloud/google-search`. Check that the ClawHub publisher is **@acedatacloud**.
2. Sign in at [AceDataCloud → Applications](https://platform.acedata.cloud/console/applications), open **General application**, and check Google Search access, balance, and current pricing. Copy its API key, or select **Manage Keys → Create** for a separate key. Copy the key value without `Bearer `; a `platform-...` management token is not a service API key.
3. If you enable **Allowed APIs** restrictions, include `/serp/google`. Advanced workflows below may call additional routes.
4. On the OpenClaw Gateway host, put `ACEDATACLOUD_API_TOKEN=your_api_key_here` in `~/.openclaw/.env`, then restart the Gateway and start a new session. For a direct terminal test, run `export ACEDATACLOUD_API_TOKEN="your_api_key_here"` in that shell. Never put the key in a prompt or commit an `.env` file.
5. Run the **Quick Start** below. If this workflow returns a task ID, query that same task until it finishes; do not submit the same billable request again just to check progress.
[Illustrated key setup, first run, and troubleshooting](https://github.com/AceDataCloud/Skills#first-run-with-clawhub-and-openclaw) · [Token details](https://github.com/AceDataCloud/Skills/blob/main/skills/_shared/authentication.md)
## Quick Start
```bash
curl -X POST https://api.acedata.cloud/serp/google \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query": "latest AI news", "type": "search"}'
```
## Search Types
| Type | Description | Returns |
|------|-------------|---------|
| `search` | Web search (default) | Organic results, knowledge graph, rich snippets |
| `images` | Image search | Image URLs, titles, sources |
| `news` | News articles | Headlines, sources, publish dates |
| `maps` | Map results | Locations, coordinates |
| `places` | Local businesses/places | Name, address, rating, reviews |
| `videos` | Video results | Video URLs, thumbnails, duration |
## Parameters
```json
POST /serp/google
{
"query": "your search query",
"type": "search",
"country": "us",
"language": "en",
"range": "qdr:w",
"number": 10,
"page": 1
}
```
| Parameter | Type | Description |
|-----------|------|-------------|
| `query` | string | Search query (required; must contain non-whitespace text; maximum 2048 characters) |
| `type` | string | One of: search, images, news, maps, places, videos |
| `country` | string | Non-empty country code (e.g., "us", "uk", "cn", "jp"; maximum 32 characters) |
| `language` | string | Non-empty language code (e.g., "en", "zh", "ja"; maximum 32 characters) |
| `range` | string | Time filter (see below) |
| `number` | int | Number of results per page |
| `page` | int | Page number for pagination |
| `image_size` | string | **Images only.** Filter by size for high-res sources: `large` / `medium` / `icon`, or a megapixel minimum `2mp`…`70mp` (e.g. `4mp` = larger than 4 megapixels). Use `large` (or a `*mp` value) whenever the image will be shown large / full-screen / zoomed. |
## Time Range Options
| Value | Period |
|-------|--------|
| `qdr:h` | Past hour |
| `qdr:d` | Past 24 hours |
| `qdr:w` | Past week |
| `qdr:m` | Past month |
| `qdr:y` | Past year |
| `h` | Past hour |
| `d` | Past 24 hours |
| `w` | Past week |
| `m` | Past month |
| `y` | Past year |
## Response Structure
Web search returns structured data including:
- `organic_results`: Main search results with title, link, snippet
- `knowledge_graph`: Entity information panel (when available)
- `related_searches`: Related query suggestions
## Gotchas
- Default search type is `"search"` (web). Always specify `type` for non-web searches
- Country and language codes affect result localization significantly
- `number` controls results per page, not total results — use `page` for pagination
- Time range (`range`) only applies to web search and news, not images or places
- **Image resolution (important for video / full-screen use):** results include `image_url` (full-size), `thumbnail_url`, and `image_width`/`image_height`. Pass **`image_size: "large"`** (or a megapixel minimum like `"4mp"`) to get sharp sources, and pick the result with the largest `image_width`×`image_height`. Always download `image_url` — **never** use `thumbnail_url` as a final asset (it is tiny and blurry).
- Places search works best with location-specific queries (e.g., "restaurants near Times Square")
> **MCP:** `pip install mcp-serp` | Hosted: `https://serp.mcp.acedata.cloud/mcp` | See [all MCP servers](https://github.com/AceDataCloud/Skills/blob/main/skills/_shared/mcp-servers.md)