✅ Visualize Best Practices with the Modash Platform
We recommend the developer and implementation team sign up for a trial account on the Modash platform using a different email from the API email.
This allows your team to visually explore best practices for building the Discovery & Search UI leveraging our API. Since our team dogfoods our own API, we've implemented and demonstrated optimal search patterns and performance techniques directly on our platform.
Using Topics for Relevance Filtering
The topics
filter is vector-based and shows creators who consistently post about a subject. It’s the closest equivalent to Instagram’s interests
filter on other platforms.
TikTok and Instagram
Topic clusters are built from hashtag and caption patterns.
Use
/tiktok/topics
to explore related tags before searching.Combine with
bio
andhashtags
for tighter targeting.
YouTube
Topics are extracted from metadata (titles, descriptions, keywords).
Avoid relying on YouTube hashtags; they’re often generic or copy-pasted.
Example Query
{
"page": 0,
"sort": {
"field": "followers",
"direction": "desc"
},
"filter": {
"influencer": {
"relevance": [
"#food",
"@jamieoliver"
],
"bio": "chef",
"textTags": [
{
"type": "hashtag",
"value": "recipes"
},
{
"type": "hashtag",
"value": "cooking"
}
]
}
}
}
Returns creators whose content aligns with the food topic cluster, mention “chef” in their bio, and use food-related hashtags.
Searching Influencers Using Bio
Use the bio
filter to identify creators based on how they describe themselves.
⚠️ Important:
Bio matches are exact word matches only —
"makeup"
≠"makeupartist"
Bio filter also checks username and full name, not just bio text
Best Practices:
Add multiple Bio variants:
"makeup artist"
,"MUA"
,"beauty expert"
Combine with location, followers_min/max, and engagement_rate_min
Example Query
{
"page": 0,
"sort": {
"field": "followers",
"direction": "desc"
},
"filter": {
"influencer": {
"bio": "makeup artist",
"location": [148838],
"followers": {
"min": 10000,
"max": 100000
},
"engagementRate": 0.02
}
}
}
🔹 Returns US-based makeup artists with 10k–100k followers and 2%+ engagement.
Searching Influencers Using Hashtags
Use the hashtags
filter to find influencers who have used specific tags in their post captions.
⚠️ Limitations:
Matches exact hashtag usage in captions only
❌ Does not search comments, video metadata, or detect related hashtags
❌ No semantic expansion (e.g.,
#fitness
≠#fitlife
)
Best Practices:
Use trending or niche-specific hashtags
Combine 2–5 related tags for broader reach
Always apply location and follower range to reduce noise
Example Query
{
"page": 0,
"sort": {
"field": "followers",
"direction": "desc"
},
"filter": {
"influencer": {
"textTags": [
{
"type": "hashtag",
"value": "fitness"
},
{
"type": "hashtag",
"value": "gym"
}
],
"location": [148838],
"followers": {
"min": 5000,
"max": 50000
}
}
}
}
🔹 Finds fitness creators in the US with 5k–50k followers who use these hashtags in captions.
Expanding Search Results Using Lookalikes
Use the lookalike
filter to find influencers with similar content patterns to a known creator.
⚠️ Note: Lookalikes are based on content similarity (topics, captions, hashtags) — not on audience overlap or interests.
Best Use Cases:
Expand results from narrow or niche filters
Discover similar creators, but don’t use obvious keywords or hashtags
Example Query
{
"page": 0,
"sort": {
"field": "followers",
"direction": "desc"
},
"filter": {
"influencer": {
"relevance": [
"@@top_chef_influencer"
]
}
}
}
🔹 Returns creators who post content similar to @top_chef_influencer
.
You can also search with multiple handles:
{ "filters": { "relevance": ["@influencer1", "@influencer2"] } }
UI-Based Optimization for Search Performance
To save credits and improve search UX, implement these UI behaviors:
Debounce Input Before Calling API
let timeout; document.getElementById('searchInput').addEventListener('input', function(event) { clearTimeout(timeout); const query = event.target.value; if (query.length >= 4) { timeout = setTimeout(() => { fetchInfluencerSearch(query); }, 500); } });
Use Pagination
{ "limit": 15, "offset": 30 }
Start with
limit
: 15 (one page)Use
offset
for loading more
Credit-Saving Tips
Avoid sending API calls with <4 character queries
Cache recent searches by keyword or handle
Use batch fetching for
/report
endpoint (1 credit per profile)
ℹ️ If no sort is applied, results default to descending follower count
When to Leverage RAW API for Fresh Data
While Discovery API is optimized for search and initial discovery workflows, there are specific use cases where fresh, real-time data is critical.
For example, when a user clicks on an influencer profile to access detailed reports within the Modash UI, we trigger a RAW API request in real-time to fetch the latest follower count and metrics. This ensures that users always interact with the most recent and accurate influencer data.
Summary & Best Practices
✅ Use topics to find creators aligned with long-term interests
✅ Use bio for exact-match keyword targeting
✅ Use hashtags to capture specific campaign or niche terms
✅ Combine filters: bio + hashtags + location + followers + ER
✅ Use lookalike to uncover hidden creators and expand reach
✅ Debounce input, paginate results, and cache data to save credits
📘 For full technical details and filters, visit the Modash API Documentation
Step-by-Step Filtering Strategy (Avoid Over-Filtering)
Combining bio, topics, hashtags, and mentions too early can lead to zero results, especially for niche use cases. Instead, build filters gradually to help users discover relevant creators step by step.
🔹 Step 1: Start Broad — Topic-Based Filtering
{
"page": 0,
"limit": 15,
"sort": {
"field": "followers",
"direction": "desc"
},
"filter": {
"influencer": {
"relevance": [
"#food"
]
}
}
}
🔹 Step 2: Add a Bio Keyword
{
"page": 0,
"limit": 15,
"sort": {
"field": "followers",
"direction": "desc"
},
"filter": {
"influencer": {
"relevance": [
"#food"
],
"bio": "chef"
}
}
}
🔹 Step 3: Layer in One Hashtag
{
"page": 0,
"limit": 15,
"sort": {
"field": "followers",
"direction": "desc"
},
"filter": {
"influencer": {
"relevance": [
"#food"
],
"bio": "chef",
"textTags": [
{
"type": "hashtag",
"value": "recipes"
}
]
}
}
}
🔹 Step 4: Expand with Location or Engagement Filters
{
"page": 0,
"limit": 15,
"sort": {
"field": "followers",
"direction": "desc"
},
"filter": {
"influencer": {
"relevance": [
"#food"
],
"bio": "chef",
"textTags": [
{
"type": "hashtag",
"value": "recipes"
}
],
"location": [148838],
"engagementRate": 0.02
}
}
}
Best Practice Reminder:
Build your UI to apply filters incrementally, not all at once.
Highlight how each filter affects result volume.
Let users easily remove filters if no results are returned.
Always include limit, page, and sort objects in search calls to control pagination and output relevance.
📩 Need Help?
Email us at hello+api@modash.io or explore full documentation at docs.modash.io