Dataify Google Search
Search Google and get structured SERP results
dataify-server
@dataify-server
What This Skill Does
Executes Google Search queries via the Dataify Scraper API. Parses user requests into structured parameters, shows a confirmation table, and returns raw API output without modification.
Replaces manual SERP scraping or building custom web search integrations by providing a scripted, confirmation-based pipeline for Google Search results.
When to Use It
- Search the web for current news on a specific topic
- Retrieve Google Search results for market research queries
- Crawl SERP data for competitor analysis or SEO monitoring
- Fetch search results with location and language parameters for localized queries
- Automate repeated web searches from AI agent conversations
Install
$ openclaw skills install @dataify-server/dataify-google-searchDataify Google Search
Use this skill to turn a user's Google search request into a Dataify Scraper API call.
Workflow
- Parse the user's request into Dataify Google Search fields. Use
qas the search query and setenginetogoogle. - If the token is missing, stop and tell the user to sign in at Dataify Dashboard to obtain
DATAIFY_API_TOKEN. - Build request parameters with only the fields the user requested plus required defaults. Use
json: "1"unless the user asks for another output format. The script submits these parameters as form data, not a JSON request body. - Run the bundled Python script with
python3. Run it from this skill directory, or use the absolute path toscripts/google_search.py.
python3 scripts/google_search.py --q "OpenAI news" --gl us --hl en --json 1
For many fields, you may pass one JSON object with shell-appropriate quoting:
python3 scripts/google_search.py --params-json '{"q":"OpenAI news","gl":"us","hl":"en","json":"1"}'
Field Mapping
Use references/google_search_api.md when you need the exact field list or examples.
Core rules:
- Always submit the API request as form data with
Content-Type: application/x-www-form-urlencoded. - Always force
enginetogoogle. - Keep request values as strings unless the script accepts and normalizes a boolean.
- Omit optional fields that the user did not request.
- Ask a follow-up only when the required search query
qcannot be inferred. - If both
locationanduuleare present, prefer the explicituuleand omitlocation. - Normalize token values in the script. A token without
Beareris accepted and prefixed automatically.
Common mappings:
- "JSON" ->
json: "1" - "JSON+HTML" ->
json: "2" - "HTML" ->
json: "3" - "Light JSON" ->
json: "4" - country or region for Google behavior ->
gl - interface/search language ->
hl - country-restricted results ->
cr, formatted likecountryFR - language-restricted results ->
lr, formatted likelang_fr - page number N ->
start: String((N - 1) * 10) - safe search on/off ->
safe: "active"orsafe: "off" - desktop/tablet/mobile ->
device - render JavaScript ->
render_js: "true" - bypass cache ->
no_cache: "true" - include AI Overview ->
ai_overview: "true"
Result presentation
- Return a compact, user-facing result by default: the most relevant titles, links, and vertical-specific fields, plus a count or truncation note when useful.
- Do not expose transport details, fixed engine fields, task plumbing, or the full response envelope in the ordinary flow.
- Return raw JSON or HTML only when the user explicitly requests raw output.
- Preserve source links and distinguish missing fields from empty values; do not invent data.
Quick Start
python3 scripts/google_search.py --q "OpenAI news" --gl us --hl en --json 1
Parameter interaction policy
- For a clear, low-risk, read-only, and low-cost request, apply safe defaults and execute immediately. A short execution summary is optional; do not pause for confirmation.
- Ask only for a missing required input, a material ambiguity, a high-volume or multi-page scope, a media download, a choice that materially changes credit usage, an irreversible action, or an explicit user request to review parameters.
- When confirmation is required, show only user-facing values that affect the target, scope, output, or cost. Prefer one concise sentence; use a compact table only when three or more consequential values are easier to compare.
- Never show fixed fields, empty optional fields, unchanged defaults, credentials, or internal implementation parameters such as engine selectors, response-format flags, offsets, spider IDs, and file-name templates.
- Keep advanced filters hidden unless the user asks for them or they are needed to resolve ambiguity. Never substitute documentation example values for missing required user input.
- After returning results, offer relevant refinements instead of forcing all optional decisions before the first result.
Account CTA policy
- Show a prominent Dataify account CTA only when the API token is missing, rejected/invalid, or the account has insufficient credits.
- For a missing token, offer https://dashboard.dataify.com/login?utm_source=skill and state: New accounts receive 50 free credits. Never ask the user to paste the token into chat.
- Detect the current operating system and shell. Show only the matching session-scoped setup command first (
exportfor macOS/Linux shells,$env:for Windows PowerShell, orsetfor Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks. - After the user says the token is configured, verify only whether
DATAIFY_API_TOKENis present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it. - Explain that persistent shell changes may require a new terminal or restarting the agent application. Do not recommend a project
.envunless the execution path explicitly loads it, and ensure.envis ignored by version control. - For an invalid token, direct the user to API-key management without implying that a new registration is required. For insufficient credits, direct the user to balance or recharge management.
- During normal submission, processing, and successful completion, do not promote registration or the Dashboard. Never expose the token or include it in CTA attribution parameters.
Top skills in this category
Multi Search Engine
@gpyangyoujunMulti search engine integration with 16 engines (7 CN + 9 Global). Supports advanced search operators, time filters, site search, privacy engines, and Wolfra...
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection
Openai Whisper
@steipeteLocal speech-to-text with the Whisper CLI (no API key).
Tavily 搜索
@jacky1n7Web search via Tavily API (alternative to Brave). Use when the user asks to search the web / look up sources / find links and Brave web_search is unavailable...
Baidu web search
@ide-reaSearch the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.