CreatorDB Naming Convention Recommendations
These recommendations address the open naming convention items (Rules 2-6) from the WIP audit, now informed by competitor API analysis.
Current CreatorDB names:
- YouTube:
totalSubscribers, subscriberGrowth, likesPerSubscriber
- Instagram:
totalFollowers, followerGrowthIn30d, likesPerFollower
Industry pattern:
- HypeAuditor:
followers_count (IG) / subscribers_count (YT) — platform-specific
- Phyllo:
follower_count (IG) / subscriber_count (YT) — platform-specific
- Modash:
followers for all platforms — universal term
Assessment: 2 of 3 competitors with data use platform-specific terms, matching CreatorDB’s approach. This is already documented as an intentional cross-platform difference.
Recommendation: KEEP CURRENT NAMES. No change needed.
| Aspect | Detail |
|---|
| Priority | None (already correct) |
| Breaking change | N/A |
| Cross-platform consistency | Intentionally different per platform |
Rule 3: Display Name (displayName vs username)
Current CreatorDB names:
- YouTube:
displayName (profile), displayName (search)
- Instagram:
username (profile), username (search)
Industry pattern:
- HypeAuditor:
full_name for display name
- Phyllo:
full_name for display name
- Both use
username to mean “handle” (the opposite of CreatorDB IG’s usage)
Assessment: CreatorDB Instagram using username for display name is actively misleading. Every competitor uses username to mean “handle/platform ID.” A developer coming from HypeAuditor or Phyllo will expect username to return the handle, not the display name.
YouTube’s displayName is clear and self-documenting, even though it differs from the industry’s full_name. The word “display” in the name makes the meaning unambiguous.
Recommendation: RENAME Instagram username to displayName across all IG endpoints (profile, search).
| Aspect | Detail |
|---|
| Priority | HIGH — this is the most confusing naming in the current API |
| Breaking change | Yes (for IG profile and search) |
| Migration path | Support both username and displayName in response for 1-2 deprecation cycles, then remove username |
| Files to update | IG pricing reference, IG endpoint PRDs, OpenAPI spec, billing logic |
| Cross-platform consistency | YouTube and Instagram would both use displayName |
Why not full_name? | CreatorDB uses camelCase, and displayName is already established on YouTube. Consistency within CreatorDB > matching competitor snake_case terms. |
Current CreatorDB names:
- YouTube:
uniqueId (handle like @mrbeast), channelId (YT internal ID like UCBR8…)
- Instagram:
userId (handle like goodalicia)
Industry pattern:
- HypeAuditor:
username for handle
- Phyllo:
platform_username for handle
- Modash:
userId for identifier (ambiguous whether handle or internal ID)
Assessment: The industry prefers username for handle, but CreatorDB has a complication: it has two ID types on YouTube (a human-readable handle AND a platform-assigned channel ID). The handle needs a different name from the channel ID.
Current problems:
uniqueId (YT) does not communicate “handle” — it sounds like a database primary key
userId (IG) also does not communicate “handle” — same problem
- The two platforms use different names for the same concept
Recommendation: This is a harder change to make because the current param names (channelId, userId) are used as query parameters in GET requests and changing them is a significant breaking change.
For response fields (what appears in profile/search responses), the ideal names would be:
- YouTube handle:
handle or username (with channelId remaining as the YT-assigned ID)
- Instagram handle:
handle or username
However, since these are also the primary lookup parameters for GET endpoints (?userId=goodalicia), renaming has a large blast radius.
| Aspect | Detail |
|---|
| Priority | MEDIUM — confusing but has larger migration cost |
| Breaking change | Yes (query params AND response fields) |
| Recommendation if changing | Rename response field to handle on both platforms. Keep channelId as separate YT concept. Support old param names as aliases during deprecation. |
| Recommendation if NOT changing | Document clearly that uniqueId (YT) and userId (IG) both represent the human-readable handle, not an internal database ID. Add this to API introduction docs. |
| Cross-platform consistency | Both would use handle |
Current CreatorDB names:
- YouTube (pricing ref):
sponsoredContent[]
- Instagram:
sponsorList[]
Industry pattern:
- HypeAuditor:
advertising_data.brand_mentions[]
- No other competitor has detailed field-level sponsorship data publicly documented
Assessment: There is no industry consensus to follow here. The real problem is internal inconsistency between YouTube and Instagram. Both need to use the same name since they represent the same concept (a list of brands that have sponsored the creator, with nested content per brand).
Evaluating the two candidates:
sponsorList — emphasizes the list-of-brands structure. Clear but the word “list” is redundant (it is already an array).
sponsoredContent — emphasizes the content. But the array is grouped by brand, not by content piece, so this name is slightly misleading.
Recommendation: USE sponsorList on both platforms.
| Aspect | Detail |
|---|
| Priority | HIGH — internal inconsistency must be resolved before fractional calls ship |
| Breaking change | Yes for YouTube (rename sponsoredContent to sponsorList) |
| Files to update | YT pricing reference, YT sponsorship PRD, OpenAPI spec, handler code |
| Rationale | sponsorList better describes the array structure (grouped by brand). Instagram already uses it. The word “list” is slightly redundant but is already established. |
| Alternative considered | sponsors[] — shorter but loses the contextual hint that these are sponsorship relationships |
Rule 6: Per-Follower / Per-Subscriber Metric Naming
Current CreatorDB names:
- YouTube:
likesPerSubscriber, commentsPerSubscriber, viewsPerSubscriber
- Instagram:
likesPerFollower, commentsPerFollower, viewsPerFollower
Industry pattern:
- No competitor publicly exposes per-follower ratio fields
- This is a CreatorDB differentiator
Assessment: Since there is no industry precedent, the naming should follow CreatorDB’s own internal conventions. The current approach uses platform-specific terms (PerSubscriber for YT, PerFollower for IG), which mirrors the totalSubscribers/totalFollowers convention. This is consistent and correct.
Recommendation: KEEP CURRENT NAMES. No change needed.
| Aspect | Detail |
|---|
| Priority | None (already correct) |
| Breaking change | N/A |
| Cross-platform consistency | Intentionally different per platform (matches follower/subscriber convention) |
Summary of Recommendations
| Rule | Current State | Recommendation | Priority | Breaking? |
|---|
| Rule 2: Follower/subscriber | Correct | Keep as-is | None | No |
| Rule 3: Display name | IG uses username (misleading) | Rename IG to displayName | HIGH | Yes |
| Rule 4: Handle/ID | uniqueId (YT) / userId (IG) | Rename to handle or document clearly | MEDIUM | Yes |
| Rule 5: Sponsorship arrays | sponsoredContent (YT) vs sponsorList (IG) | Standardize on sponsorList | HIGH | Yes (YT) |
| Rule 6: Per-follower metrics | Correct | Keep as-is | None | No |
Recommended Implementation Order
- Rule 5 (sponsorship arrays) — fix the YT pricing reference now, before fractional calls ship. Lowest blast radius of the breaking changes.
- Rule 3 (display name) — fix IG
username to displayName. This is the most developer-facing confusion. Plan a deprecation cycle.
- Rule 4 (handle naming) — can be deferred. Document the current convention clearly in the meantime. Schedule for a future API version if a major version bump is planned.
Last modified on March 25, 2026