Dataify Airbnb Product By Searchurl

API key required
Data & APIs

Prepare Dataify builder requests for the airbnb.com scraper family rooted at airbnb_product_by-searchurl. Use when needs to work with the successful Dataify scraper detail entry for airbnb_product_by-searchurl, let the user choose one of its available tools, read saved getToolParams options, and generate a scraperapi.dataify.com/builder curl request with DATAIFY_API_TOKEN.

Install

openclaw skills install dataify-airbnb-product-by-searchurl

Dataify Builder Skill

Use this skill to prepare Dataify builder requests for the scraper family rooted at airbnb_product_by-searchurl on airbnb.com.

Workflow

  1. Check whether DATAIFY_API_TOKEN exists in the environment.
  2. If the token is missing, stop and tell the user to sign in at Dataify Dashboard](https://dataify.com/dashboard) to obtain it.
  3. Ask the user to choose exactly one tool from the following Chinese list:
  • 搜索URL (airbnb_product_by-searchurl)
  • 位置 (airbnb_product_by-location)
  1. Read references/tool-params.json and find the chosen tool by tool_sign or Chinese tool name.
  2. For each parameter in the chosen tool:
    • If input_mode is user_input, ask the user for the value.
    • If input_mode is select, present the saved options to the user.
  3. Use scripts/build-dataify-request.py as the default cross-platform helper.
  4. Use scripts/build-dataify-request.ps1 as the Windows PowerShell helper when needed.
  5. When a selectable parameter has a human-readable Chinese label, keep that label in spider_parameters. Do not replace it with a code such as HK unless the user explicitly asks for the coded value.
  6. Build spider_parameters as a JSON array.
  7. If every parameter has only one final value, build one object such as [{"searchurl":"...","country":"Hong Kong"}].
  8. If one or more parameters have multiple aligned values, zip them by index and build one object per row. Example: [{"search_url":"url1","page_turning":"1","max_num":"15"},{"search_url":"url2","page_turning":"1","max_num":"15"}].
  9. If a parameter has one value while another parameter has multiple values, reuse the single value across every generated row.
  10. Set spider_name to airbnb.com.
  11. Set spider_id to the selected tool's tool_sign.
  12. Always include spider_errors=true and file_name={{TasksID}}.
  13. Return a curl command for https://scraperapi.dataify.com/builder.

Set DATAIFY_API_TOKEN

Prefer a permanent environment-variable setup instead of setting the token only for the current terminal session.

Windows PowerShell, permanent for the current user:

[Environment]::SetEnvironmentVariable("DATAIFY_API_TOKEN", "your_token_here", "User")

Then reopen PowerShell. If the current session also needs the token immediately, run:

$env:DATAIFY_API_TOKEN = "your_token_here"

macOS or Linux, permanent for bash:

echo 'export DATAIFY_API_TOKEN="your_token_here"' >> ~/.bashrc
source ~/.bashrc

macOS or Linux, permanent for zsh:

echo 'export DATAIFY_API_TOKEN="your_token_here"' >> ~/.zshrc
source ~/.zshrc

Script usage

Python:

python scripts/build-dataify-request.py --tool-sign <selected_tool_sign> --values-file values.json

PowerShell:

& ".\scripts\build-dataify-request.ps1" -ToolSign "<selected_tool_sign>" -ValuesFile ".\values.json"

The values.json file should contain either one object or an array of objects. Example:

[{"searchurl":"https://www.airbnb.com/s/Greece/homes?...","country":"Hong Kong"}]

Required output shape

Generate a curl command in this form:

curl -X POST 'https://scraperapi.dataify.com/builder' \
  -H "Authorization: Bearer $DATAIFY_API_TOKEN" \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'spider_name=airbnb.com' \
  -d 'spider_id=<selected_tool_sign>' \
  -d 'spider_parameters=[{"param":"value"}]' \
  -d 'spider_errors=true' \
  -d 'file_name={{TasksID}}'

Reference usage

  • references/tool-params.json stores the full saved parameter catalog for every available tool in this scraper family.
  • scripts/build-dataify-request.py is the portable implementation and should be preferred.
  • scripts/build-dataify-request.ps1 mirrors the same behavior for Windows users.
  • If a parameter has no options, the user must provide the value.
  • If a parameter has options, present those options back to the user before building the final request.
  • Do not assume spider_parameters always contains exactly one object. Multi-value tools may require multiple objects zipped by index.
  • Use the saved url_example only as a reference example. Do not assume the user wants the example values unless they explicitly confirm them.