From Creator Recommendations to an Outreach-Ready Database

Inspiration

In my daily work in overseas influencer marketing, I often discover creators through TikTok and Instagram recommendations, including “People You May Know,” similar creators, and suggested accounts.

These recommendations are useful for finding estheticians, skincare creators, and UGC creators with similar audiences. However, the research process is repetitive:

  1. Review recommended accounts.
  2. Open each creator’s profile.
  3. Copy the social media link.
  4. Check follower count and country.
  5. Search the bio or external website for an email.
  6. Confirm whether the creator has posted recently.
  7. Organize the information in a spreadsheet.

When a recommendation list contains dozens of creators, too much time is spent on repetitive work. This inspired me to build a tool that could automatically discover suggested creators, collect their publicly available information, and organize qualified profiles into an outreach-ready list.

The goal was not simply to collect more accounts. It was to identify active and relevant creators more efficiently.

What I Wanted to Solve

At first, I measured efficiency by the number of creators the tool could collect. In practice, however, the amount of usable data matters more than the total number of accounts.

The percentage of qualified creators can be represented as:

[

R_{\text{qualified}}

\frac{N_{\text{active and complete}}} {N_{\text{collected}}} \times 100% ]

Where:

  • (N_{\text{collected}}) is the total number of discovered creators.
  • (N_{\text{active and complete}}) is the number of active creators with enough public information for outreach.

If the tool collects 100 creators but only 10 are active and have public contact information, only those 10 provide immediate business value.

The project therefore evolved from a simple data collection tool into a creator discovery and qualification system.

How I Built the Project

1. Discovering Recommended Creators

The tool first scans the recommendation section on a TikTok profile and collects:

  • Display name
  • Username
  • Social media profile URL
  • Source creator
  • Collection date

The system normalizes usernames and profile URLs to remove duplicates.

2. Creating an Enrichment Queue

Recommendation cards usually contain only a display name and profile link. They do not provide complete information such as follower count, bio, or email.

I divided the workflow into two stages:

Discover recommended creators
→ Save profile links
→ Add creators to an enrichment queue
→ Visit each profile
→ Collect public information
→ Classify and export the results

Each creator receives a processing status:

  • Pending
  • Loading
  • Extracting
  • Completed
  • No public email
  • Inactive
  • Failed

3. Reusing One Collection Tab

Opening many profiles at the same time can slow down the browser, mix up creator data, and trigger platform restrictions.

The tool therefore uses one reusable browser tab:

  1. Open Creator A’s profile.
  2. Wait for the core profile data.
  3. Extract and save the information.
  4. Navigate the same tab to Creator B.
  5. Close the tab when the queue is complete.

If there are (N) creators, the average extraction time is (t), and the delay between profiles is (d), the estimated processing time is:

[ T \approx N(t+d) ]

For example, processing 30 creators with an average extraction time of 8 seconds and a 5-second interval would take:

[ T \approx 30 \times (8+5)=390\text{ seconds} ]

That is approximately 6.5 minutes, with very little manual work.

4. Collecting Public Profile Information

For each creator, the tool attempts to collect:

  • Username and display name
  • Follower count
  • Bio
  • Public email
  • External links
  • Country
  • Most recent post date

Emails are collected only from publicly available sources, such as profile bios, mailto links, Linktree pages, Beacons pages, and public websites.

If no email is available, the creator is marked as “No public email.” This is treated as a valid result rather than a technical failure.

5. Checking Creator Activity

To avoid spending time on inactive accounts, the tool checks the creator’s latest public post.

The activity rule is:

[ A = \begin{cases} 1, & \text{if the latest post was published within 30 days} \ 0, & \text{if the latest post was published more than 30 days ago} \end{cases} ]

Inactive creators are excluded from the default outreach list but are not permanently deleted. They remain available in a separate category in case the activity data needs to be reviewed.

6. Collecting Creator Country

I already use a browser extension called “达人精灵,” which displays the creator’s country beside their TikTok username.

Instead of guessing a creator’s country from language or bio text, the new tool waits for this extension to display the country and then reads the visible information from the page.

The system records:

  • Standardized country name
  • Original displayed value
  • Information source
  • Detection status

If the country cannot be detected, the result is marked as “Unknown.” The tool does not make unsupported assumptions.

7. Organizing Outreach Results

The final interface groups creators into practical categories:

  • Public email available
  • External link requires checking
  • No public email
  • Inactive
  • Activity requires confirmation
  • Extraction failed

For qualified creators, I can directly copy:

Social profile URL    Email address    Country

The fields are separated by tabs, so they can be pasted directly into separate Excel columns.

What I Learned

Visible Data Is Not Always Immediately Accessible

TikTok is dynamically rendered. Information visible on the screen may not exist in the initial HTML and may only appear after JavaScript finishes loading.

The tool therefore needs to wait for actual profile data instead of reading the page immediately.

A Loading Page May Still Be Ready

TikTok may remain in a loading state because of video resources, continuous requests, or other browser extensions. However, the username, bio, and follower count may already be visible.

The tool should determine readiness based on profile content, not only on the browser tab status.

A simplified readiness rule is:

[

\text{profileReady}

\text{usernameFound} \lor \text{followersFound} \lor \text{profileDataFound} ]

Once any reliable profile signal is available, extraction can begin.

Missing Email Does Not Mean Failure

Some creators do not publish an email address. Others prefer direct messages or provide only an external website.

The system must distinguish between:

  • Extraction failure
  • No public email
  • External link requires checking
  • Public email successfully found

This produces more accurate results and prevents misleading failure statistics.

Faster Automation Is Not Always Better

Opening many profiles simultaneously appears faster, but it can cause:

  • Browser performance problems
  • Incomplete page loading
  • Incorrect data assignment
  • Verification challenges
  • Platform access restrictions
  • Difficult recovery after interruption

A controlled sequential queue is slower in theory but more reliable in daily use.

The Tool Must Support the Real Workflow

At first, I focused mainly on whether the tool could collect data. Later, I realized that the collected information must also be easy to use.

Features such as email classification, activity filtering, country detection, duplicate removal, task recovery, and one-click copying are more valuable than a visually complex interface.

Challenges I Encountered

Dynamic Page Structures

TikTok uses dynamic rendering and frequently changing page structures. Fixed CSS classes can stop working after a platform update.

To improve reliability, the tool uses multiple extraction methods:

  1. Stable semantic attributes
  2. Username and profile URL matching
  3. Visible page text
  4. Public initialization data
  5. Diagnostic logs and extraction sources

The Queue Became Stuck in Loading

An early version waited for the browser tab status to become complete. TikTok sometimes remained in loading even though the profile information was already visible.

The solution was to monitor the actual page content and begin extraction as soon as the username, follower count, or public profile data appeared.

Country Information Came From Another Extension

The country field was not provided directly by TikTok. It was inserted into the page by another browser extension.

The new tool therefore had to wait for the country extension to finish rendering and identify the country text near the username.

If the country extension only runs properly in a visible tab, background collection may fail. To address this, the project includes a visible assisted mode that keeps the collection tab active while processing the queue.

Pinned Videos Complicated Activity Detection

The first video shown on a TikTok profile is not always the newest because creators can pin older videos.

Instead of assuming that the first video is the latest, the tool compares the timestamps of multiple public videos:

[ t_{\text{latest}}=\max(t_1,t_2,\ldots,t_n) ]

The newest timestamp is then used to determine whether the creator has posted within the selected activity period.

Final Value

The project connects several previously separate tasks into one workflow:

Discover creators
→ Enrich public data
→ Check recent activity
→ Identify country
→ Classify contact availability
→ Exclude low-value accounts
→ Copy or export an outreach-ready list

The tool does more than reduce copying and pasting. It allows me to spend more time on work that requires judgment, such as evaluating content quality, planning collaborations, negotiating rates, and building long-term creator relationships.

For me, effective automation does not replace human decision-making. It handles repetitive work so that people can focus on the decisions that create real value.

Built With

Share this project:

Updates