Search the Bilibili Huahuo creator marketplace
TikHub tool tikhub-api-bilibili-huahuo-search-upper on looot: input fields, $0.01 per call, output shape, and code to run it with curl, JavaScript or Python.
Searches creators on Huahuo, Bilibili’s paid creator-collaboration marketplace for brands, by nickname, UID or content keyword, with filters for fans, price, performance and industry. Send nickname_or_mids to search creators or main_search to search their content, usually one of the two. Returns 20 creators per page; reuse request_id when paging with the same filters. For normal Bilibili search, use tikhub-api-bilibili-app-fetch-search-all.
- Tool id:
tikhub-api-bilibili-huahuo-search-upper - Provider: TikHub
- Job: Search upper api bilibili huahuo (
api.bilibili.huahuo.search-upper) - Price: $0.01 per call. A call that fails at the provider costs $0.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
av_active |
string | no | Recent-publishing activity switch: 1=enabled, 0=all |
av_active_tag |
string | no | Recent-publishing activity tier from square_static_info.av_active_tag |
av_honor |
string | no | Video-honor condition with honor type, time period, and count |
bdata_tag_lv5 |
string | no | Bilibili level-five content-tag filter values |
blue_url_click_cost_gte |
string | no | Minimum blue-link click cost, cooperation and promotion spend divided by clicks |
blue_url_click_cost_lt |
string | no | Maximum blue-link click cost, cooperation and promotion spend divided by clicks |
blue_url_ctr_gte |
string | no | Minimum blue-link CTR, blue-link clicks divided by video views |
blue_url_ctr_lt |
string | no | Maximum blue-link CTR, blue-link clicks divided by video views |
category_dmp_group_id |
string | no | Content-category DMP audience-package ID |
category_dmp_label |
string | no | Display label for the content-category DMP audience package |
cooperate_experience_type |
string | no | Industry experience: 1=experienced, 2=extensive, 3=none in selected industry, 4=other industries |
cpc_cycle |
string | no | CPC window: 1=7 days, 2=15 days, 3=30 days |
cpc_traffic_type |
string | no | CPC traffic scope: 1=all traffic, 2=organic traffic |
cpe_cycle |
string | no | CPE window: 1=7 days, 3=30 days |
cpe_gte |
string | no | Minimum CPE, calculated as spend divided by valid engagements |
cpe_lt |
string | no | Maximum CPE, calculated as spend divided by valid engagements |
cpe_traffic_type |
string | no | CPE traffic scope: 1=all traffic, 2=organic traffic |
cpm_cycle |
string | no | CPM window: 1=7 days, 2=15 days, 3=30 days |
cpm_type |
string | no | CPM traffic scope: 1=all traffic, 2=organic traffic |
custom_video_pricing_set |
string | no | Whether custom-video pricing has been configured |
dmp_group_id |
string | no | DMP custom audience-package ID |
dmp_pkg_effect_rate_gte |
string | no | Minimum DMP influence: recent matching viewers divided by the audience population |
dmp_pkg_effect_rate_lte |
string | no | Maximum DMP influence: recent matching viewers divided by the audience population |
dmp_pkg_fan_rate_gte |
string | no | Minimum DMP attention: matching audience members divided by all followers |
dmp_pkg_fan_rate_lte |
string | no | Maximum DMP attention: matching audience members divided by all followers |
dmp_pkg_name |
string | no | DMP special-audience package name query |
dmp_pkg_vertical_rate_gte |
string | no | Minimum DMP verticality: matching videos divided by all videos |
dmp_pkg_vertical_rate_lte |
string | no | Maximum DMP verticality: matching videos divided by all videos |
draft_duration |
string | no | Dominant video duration bucket from under 30 seconds to over 10 minutes |
entry_cost_max |
string | no | Maximum store-entry cost for relevant cooperation in the last year |
entry_cost_min |
string | no | Minimum store-entry cost for relevant cooperation in the last year |
fans_age_tag |
string | no | Audience age-affinity tags from square_static_info |
fans_gender_tag |
string | no | Audience gender-affinity tags from square_static_info |
fans_region_tag |
string | no | Audience region-affinity tags from square_static_info |
fans_stick |
string | no | Follower-loyalty filter; 0=all, otherwise use a static-option value |
folder_id |
string | no | Saved-creator folder ID used to limit the search |
gender |
string | no | Creator gender; use values from square_static_info.gender_info |
goods_avg_price_max |
string | no | Maximum average product price in the last 30 days, in RMB |
goods_avg_price_min |
string | no | Minimum average product price in the last 30 days, in RMB |
goods_category_first_ids |
string | no | Primary commerce-category IDs |
goods_ctr_max |
string | no | Maximum commerce-component CTR, clicks divided by impressions |
goods_ctr_min |
string | no | Minimum commerce-component CTR, clicks divided by impressions |
goods_ctr_type |
string | no | Commerce CTR component scope: 1=all components, 2=comment component |
goods_gpm_max |
string | no | Maximum 30-day GPM, paid GMV per 1,000 commerce-video views |
goods_gpm_min |
string | no | Minimum 30-day GPM, paid GMV per 1,000 commerce-video views |
goods_permission |
string | no | Commerce permission filter: 1=required, 0=all |
goods_up_levels |
string | no | Commerce-creator level values |
half_max_hot_avid_cnt |
string | no | Maximum viral-video count in the last six months |
half_min_hot_avid_cnt |
string | no | Minimum viral-video count in the last six months |
high_potential_type |
string | no | High-potential type: 0=all, 1=onboarded, 2=not onboarded |
is_boosting |
string | no | Boosting-status filter: 1=currently boosting, 0=all |
is_new_enter |
string | no | Whether to filter for newly onboarded creators |
is_painter_order |
string | no | Whether to require illustration-commission capability |
is_timely_response |
string | no | Whether to require timely-response creators |
is_treasure_up |
string | no | Whether to filter for treasure creators |
is_x_plan_better_up |
string | no | Whether to filter for X Plan preferred creators |
label_array |
string | no | Dynamic label-tree paths using labels and values returned by upper_label_tree |
last_14_days_set_price |
string | no | Quote-updated-in-14-days filter: 1=yes, 0=all |
last_30_days_set_price |
string | no | Quote-updated-in-30-days filter: 1=yes, 0=all |
last_7_days_set_price |
string | no | Quote-updated-in-7-days filter: 1=yes, 0=all |
main_search |
string | no | Content-keyword query; matched videos are included in the result |
marketing_target |
string | no | Marketing objective: 1=brand awareness, 2=consideration, 3=conversion |
max_avid_cnt |
string | no | Maximum eligible original-video count in the last 90 days |
max_cpc |
string | no | Maximum CPC, calculated as spend divided by component clicks |
max_cpm |
string | no | Maximum CPM, calculated as spend divided by views times 1,000 |
max_fans_num |
string | no | Maximum follower count, inclusive |
max_hot_avid_rate |
string | no | Maximum viral-video ratio in the last 90 days |
max_interact_rate |
string | no | Maximum engagement rate for eligible original videos in the last 180 days |
max_play_median |
string | no | Maximum median views for eligible original videos published at least seven days ago |
max_task_price |
string | no | Maximum standard cooperation quote in RMB |
mcn_ids |
string | no | MCN organization IDs from mcn_drop |
mids |
string | no | List of creator UIDs to match exactly |
min_avid_cnt |
string | no | Minimum eligible original-video count in the last 90 days |
min_cpc |
string | no | Minimum CPC, calculated as spend divided by component clicks |
min_cpm |
string | no | Minimum CPM, calculated as spend divided by views times 1,000 |
min_fans_num |
string | no | Minimum follower count, inclusive |
min_hot_avid_rate |
string | no | Minimum viral-video ratio in the last 90 days |
min_interact_rate |
string | no | Minimum engagement rate for eligible original videos in the last 180 days |
min_play_median |
string | no | Minimum median views for eligible original videos published at least seven days ago |
min_task_price |
string | no | Minimum standard cooperation quote in RMB |
nickname_or_mids |
string | no | Creator nickname or UID query; separate multiple terms with commas |
only_contract |
string | no | Contract-eligible filter: 1=only eligible creators, 0=all |
order_by |
string | no | Sort field, such as fans_num, play_median, or interactive_rate |
page |
string | no | One-based page number; each page returns 20 records |
panel_type |
string | no | Strategy panel: 0=general, 1=gaming, 2=beauty, 3=digital, 4=automotive, 5=performance, 6=food, 8=internet |
partition_id |
string | no | Primary content-category ID from partition_drop |
play_median_cycle |
string | no | Median-view window: 1=7 days, 2=15 days, 3=30 days |
play_median_traffic_type |
string | no | Median-view traffic scope: 1=all traffic, 2=organic traffic |
price_info |
string | no | Pricing rules by cooperation type with quote bounds and creative options |
provider_id |
string | no | Service-provider IDs using values offered by the Huahuo filter |
region_id |
string | no | Primary residence-region IDs from region_drop |
request_id |
string | no | Search-session ID; reuse it across pages of the same filter set |
second_partition_id |
string | no | Secondary content-category IDs from partition_drop |
second_region_id |
string | no | Secondary residence-region IDs from region_drop |
sort |
string | no | Sort direction: desc=descending, asc=ascending |
spark_tag |
string | no | Huahuo capability tags such as cooperate, grow, or hot_frequent |
special_tags |
string | no | Feature-tag values from square_static_info |
square_tag_in |
string | no | Marketplace scenario tags such as ad_partner_experienced |
upper_mid |
string | no | Single creator UID for an exact match |
upper_types |
string | no | Creator type: 1 or 4=MCN-affiliated, 3=independent |
goods_category_second_ids |
string | no | Secondary commerce-category IDs |
huahuo_first_industry_ids |
string | no | Huahuo primary-industry IDs from square_static_info |
huahuo_third_industry_ids |
string | no | Huahuo tertiary-industry IDs from square_static_info |
huahuo_second_industry_ids |
string | no | Huahuo secondary-industry IDs from square_static_info |
goods_is_high_fans_play_permeate |
string | no | High follower-view penetration filter |
cooperate_experience_industry_ids |
string | no | Industry IDs used for cooperation-experience filtering |
goods_is_high_video_play_permeate |
string | no | High video-view penetration filter, top 20% by recent viewers per follower |
Output
The run’s result holds the provider’s answer. Signed in, looot inspect tikhub-api-bilibili-huahuo-search-upper prints its fields.
Run it
Every call needs your API token in LOOOT_TOKEN; Sign in shows how to get one. Each run also needs a new idempotency key, so a retry never pays twice. With wait: 30 the answer comes back inline when the run ends within 30 seconds. Otherwise you get the running run back: poll GET /v1/runs/<runId>.
Example input with placeholder values:
curl -X POST "https://api.looot.ai/v1/runs" \
-H "Authorization: Bearer $LOOOT_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"endpointId":"tikhub-api-bilibili-huahuo-search-upper","input":{"mids":"<mids>"},"wait":30}'const response = await fetch("https://api.looot.ai/v1/runs", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LOOOT_TOKEN}`,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({
endpointId: "tikhub-api-bilibili-huahuo-search-upper",
input: {
mids: "<mids>",
},
wait: 30,
}),
});
const run = await response.json();
console.log(run.status, run.result);import os
import uuid
import requests
response = requests.post(
"https://api.looot.ai/v1/runs",
headers={
"Authorization": f"Bearer {os.environ['LOOOT_TOKEN']}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={
"endpointId": "tikhub-api-bilibili-huahuo-search-upper",
"input": {
"mids": "<mids>",
},
"wait": 30,
},
timeout=90,
)
run = response.json()
print(run["status"], run.get("result"))To let looot pick among every provider of this job instead, send job:api.bilibili.huahuo.search-upper as endpointId; see the job page.