Dataify Bing Search
Search Bing and get structured results
dataify-server
@dataify-server
What This Skill Does
Executes Bing web searches via the Dataify API and returns raw structured results. Accepts natural-language queries and maps them to API parameters like search terms, location, market, and safe search settings.
Replaces manually constructing Bing Search API requests by automatically parsing natural-language queries into correct API fields and returning unprocessed results.
When to Use It
- Search Bing for current news on a specific topic
- Find web results for a query with a specific geographic location
- Retrieve Bing search results in JSON format for programmatic use
- Search Bing with safe search filtering set to Strict or Moderate
- Get Bing results for a query in a specific language or market
Install
$ openclaw skills install @dataify-server/dataify-bing-searchBing Search
Overview
The source API document is summarized in references/api.md. Read it when field behavior, allowed values, or response shape is unclear.
Workflow
- Identify the user's actual search query and map requirements to API fields:
q: search terms. Required.json: output format. Default to1for JSON when the user does not specify an output format. Use2for JSON plus HTML,3for HTML.location: named geographic search origin.latandlon: GPS search origin.mkt: display language and market, such aszh-CNoren-US. Do not pass it unless the user asks for a market/language.cc: two-letter country or region code, such asus,cn,jp,uk. Do not pass it unless the user asks for a country/region.first: organic result offset. Default to1when the user does not specify it.safeSearch:Off,Moderate, orStrict.filters: advanced Bing filter string.no_cache:trueto bypass cache,falseto use cache. Default tofalsewhen the user does not specify it.
- Apply defaults only when the parameter description states a default. Current defaults from the API description are
engine=bing,q=pizza,json=1,first=1, andno_cache=false. Do not treat body examples such aslocation=India,lat=1,lon=1,mkt=zh-cn, orcc=ARas defaults. - Prefer explicit user-provided field values over inferred values. If the user asks for a concrete search, replace the documented default
q=pizzawith the user's actual query.
python3 scripts/bing_search.py --prompt "<user request>" --show-params
- Use the bundled Python script with
python3. Pass the whole user request through--promptand add explicit flags for any fields that should override automatic parsing. - Ensure authentication before a live call:
- Read
DATAIFY_API_TOKENfrom the current environment. - The script adds a
Bearerprefix when the token does not already include one.
- Read
- Run a dry run when you need to inspect parsed payload JSON without calling the API:
python3 scripts/bing_search.py --prompt "Search Bing for current OpenAI news, return JSON and HTML" --dry-run
python3 scripts/bing_search.py --prompt "Search Bing for current OpenAI news, return JSON and HTML"
Script Usage
The script supports automatic parsing plus explicit overrides:
python3 scripts/bing_search.py \
--prompt "Find current OpenAI news, return JSON and HTML" \
--no-cache true
Useful flags:
--q,--json,--location,--lat,--lon,--mkt,--cc,--first,--safeSearch,--filters,--no-cache--field key=valuefor any supported API field--urlto override the fixed endpoint only when explicitly needed for debugging--body-format form|json, defaultform--dry-runto print the parsed payload and skip network/auth checks--show-paramsto print the complete pre-call parameter table and exit
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/bing_search.py --prompt "<user request>" --show-params
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 Search
@jacky1n7Search the public web through Tavily and return structured results with URLs and snippets. Use when an agent needs current information, source discovery, link lookup, news or finance search, or a fallback for unavailable built-in web search. Do not use for private or authenticated pages.
Baidu web search
@ide-reaSearch the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.