Skip to content
looot docs
Esc
↑↓navigate↵open⌘Jpreview
On this page

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.

Was this page helpful?