Official skill for upkuajing (跨境魔方). Search merchants on map (地图获客). Find merchants by region or nearby location, get merchant details including name, address, phone, industry, and more. Includes geographic data APIs (country, province, city lists) to support location-based search.
Query merchant information using the UpKuaJing Open Platform API. This skill provides map-based merchant search with two search modes: region search and nearby search.
This skill provides access to UpKuaJing's map merchant database through:
merchants_search.py): Search merchants by keywords and locationgeography_list.py): Get country/province/city lists for location parameterspython --versionpip install -r requirements.txtScript directory: scripts/*.py
Run example: python scripts/*.py
Important: Always use direct script invocation like python scripts/merchants_search.py. shell compound commands like .
cd scripts && python merchants_search.pymerchants_search.py)Search merchants by keywords and geographic area.
Parameters: See Merchants Search API
Two Search Modes:
geoDistanceExamples:
# Country search - Find restaurants in Brazil
python scripts/merchants_search.py \
--params '{"keywords":["restaurant"],"countryCodes":["BR"]}' \
--query_count 100
# Multi-country search with phone filter - Find restaurants in US or China with phone
python scripts/merchants_search.py \
--params '{"keywords":["restaurant"],"countryCodes":["US","CN"],"existPhone":true}' \
--query_count 50
# Industry filter - Find car dealers in Thailand
python scripts/merchants_search.py \
--params '{"keywords":["car dealer"],"countryCodes":["TH"],"industries":["Cars"]}' \
--query_count 100
# Nearby search - Find hotels within 5km of a point
python scripts/merchants_search.py \
--params '{"keywords":["hotel"],"geoDistance":{"location":{"lat":31.1104643,"lon":29.7602221},"distance":"5km"}}'
# Province and city filter - Find restaurants in a specific province/city
python scripts/merchants_search.py \
--params '{"keywords":["restaurant"],"provinceIds":["2277"],"cityIds":["19975"]}' \
--query_count 50
# Shop name filter - Find shops by specific name
python scripts/merchants_search.py \
--params '{"companyNames":["car care"],"countryCodes":["TH"]}' \
--query_count 100
# Multi-filter search - Combine multiple filters
python scripts/merchants_search.py \
--params '{"keywords":["restaurant"],"countryCodes":["US"],"provinceIds":["1447"],"industries":["Cars"],"existPhone":true}' \
--query_count 50
Task Resume: Use --task_id to resume interrupted large queries:
python scripts/merchants_search.py --task_id 'your-task-id-here' --query_count 2000
geography_list.py)Get geographic hierarchy data for building search parameters.
Examples:
# Get country list
python scripts/geography_list.py --type country
# Get province list for a country
python scripts/geography_list.py --type province --country_id 1
# Get city list for a country
python scripts/geography_list.py --type city --country_id 1
~/.upkuajing/.env file as UPKUAJING_API_KEYFirst check if the ~/.upkuajing/.env file has UPKUAJING_API_KEY;
If UPKUAJING_API_KEY is not set, prompt the user to choose:
When API response indicates insufficient balance, explain and guide user to top up:
auth.py --new_rec_order)Use this script to get account information for UPKUAJING_API_KEY: auth.py --account_info
Merchant search API calls incur fees, different interfaces have different billing methods.
Latest pricing: Users can visit Detailed Price Description
Or use: python scripts/auth.py --price_info (returns complete pricing for all interfaces)
Billed by number of calls, each call returns up to 100 records:
ceil(query_count / 100) timesFree of charge — No fees for country/province/city list queries.
Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.
| User Intent | Use API |
|---|---|
| "Find merchants by country/region" | Merchants Search (countryCodes) |
| "Find merchants by province/city" | Merchants Search (provinceIds, cityIds) |
| "Find merchants near a location" | Merchants Search (geoDistance) |
| "Filter by industry or contact info" | Merchants Search (industries, existPhone, existWebsite) |
| "Find shops by name" | Merchants Search (companyNames) |
| "Get country/province/city data" | Geography List |
UPKUAJING_API_KEY in ~/.upkuajing/.env fileUnderstand user intent:
Check API documentation:
countryCodes with keywordsgeoDistance with location and distanceexistPhone=true or existWebsite=true to filter by contact availabilityindustries to filter by business typeprovinceIds and cityIds to filter by specific province or citycompanyNames to find shops by specific namepython scripts/auth.py --price_info to get accurate pricing informationOther UpKuaJing skills you might find useful: