Skip to main content

Competitor API Naming Pattern Analysis

1. Casing Conventions

CompetitorCasingConfidence
HypeAuditorsnake_caseHIGH
Modash (Discovery API)camelCaseMED
Modash (Raw API)snake_caseMED
Phyllosnake_caseMED
CreatorDBcamelCase
Industry lean: snake_case dominates (3 of 4 API surfaces use it). However, camelCase is also present (Modash Discovery API), and it is the standard for JavaScript/TypeScript ecosystems which make up the majority of API consumers. Assessment: CreatorDB’s camelCase choice is defensible. It aligns with the JS/TS ecosystem (the primary consumer base) and matches the Modash Discovery API. Switching to snake_case would be a massive breaking change with no clear benefit. The industry “majority” of snake_case is driven by Python-origin APIs (HypeAuditor, Phyllo). Recommendation: Keep camelCase. No change needed.

2. Follower/Subscriber Terminology

CompetitorInstagram/TikTokYouTube
HypeAuditorfollowers_countsubscribers_count
Phyllofollower_countsubscriber_count
Modashfollowersfollowers (same term for all)
CreatorDBtotalFollowerstotalSubscribers
Industry pattern: 2 of 3 competitors use platform-specific terms (followers for IG/TikTok, subscribers for YT). Modash is the outlier using followers universally. Assessment: CreatorDB’s approach of using totalFollowers (IG) and totalSubscribers (YT) aligns with the majority pattern. The total prefix is unique to CreatorDB but provides clarity that this is a cumulative count. Recommendation: Keep the current platform-specific terms. This is already documented as an intentional cross-platform difference.

3. Display Name vs. Username vs. Full Name

CompetitorDisplay Name FieldHandle Field
HypeAuditorfull_nameusername
Phyllofull_nameplatform_username
Modash(n/a)userId
CreatorDB (YT)displayNameuniqueId
CreatorDB (IG)username (confusing)userId
Industry pattern: “full_name” is the dominant term for display name (2 of 2 with data). “username” is the dominant term for handle (2 of 3 with data). Critical finding: CreatorDB Instagram uses username for the display name concept, which is the opposite of industry convention where username means “handle.” This is the most confusing naming inconsistency in the current API. Recommendation: See creatordb-naming-recommendations.md for detailed recommendation.

4. Nesting Depth

CompetitorStyleExample
HypeAuditorDeep nestingaudience_geography.countries[].code (3 levels)
HypeAuditorDeep nestingsubscribers_growth_prc.performance.7d.value (4 levels)
ModashFlataudienceGeo (1 level)
CreatorDBModerateaudienceLocations[].country (2 levels)
CreatorDBModeratevideosPerformanceRecent.likes.avg (3 levels)
Industry pattern: No consensus. Ranges from very flat (Modash) to deeply nested (HypeAuditor). Assessment: CreatorDB’s moderate nesting is a reasonable middle ground. The performance objects (videosPerformanceRecent.likes.avg) have 3 levels, which is manageable. The audience objects (audienceLocations[].country) use 2 levels, which is clean. Recommendation: No change to nesting depth. Current approach balances readability with structure.

5. Time Bucket Naming

CompetitorPatternExample
HypeAuditorExplicit day suffixperformance.7d.value, performance.30d.value
CreatorDBAbbreviated object keyssubscriberGrowth.g7, subscriberGrowth.g30
Industry pattern: HypeAuditor uses 7d/30d/90d (more readable). CreatorDB uses g7/g30/g90 (shorter, established internal convention). Assessment: The g prefix stands for “growth” and is already an established abbreviation in the CreatorDB codebase. Changing it would be a breaking change. The 7d/30d format is more self-documenting, but g7/g30 is adequate once the convention is learned. Recommendation: Keep g7/g30/g90. Document the convention clearly. This is established and a breaking change is not worth the marginal readability improvement.

6. Engagement Rate Naming

CompetitorTermNotes
HypeAuditorer / er.avgExtremely abbreviated
ModashengagementRateFull camelCase
Phylloengagement_rateFull snake_case
CreatorDB (aggregate)avgEngagementRatePrefix distinguishes from per-content
CreatorDB (per-content)engagementRateUsed in content arrays
Industry pattern: Competitors use a single term without avg prefix. HypeAuditor abbreviates to er (poor practice). Modash and Phyllo use the full term. Assessment: CreatorDB’s dual naming (engagementRate for per-content, avgEngagementRate for aggregate) is more precise than competitors. However, it is unique in the market. The precision is valuable because CreatorDB exposes both per-content and aggregate rates in the same API, unlike most competitors. Recommendation: Keep the dual convention. It prevents ambiguity that competitors avoid by not exposing per-content rates alongside aggregates.

7. Sponsorship Array Naming

CompetitorTermStructure
HypeAuditoradvertising_data.brand_mentions[]Flat brand list
CreatorDB (IG)sponsorList[]Grouped by brand with nested content
CreatorDB (YT pricing ref)sponsoredContent[]Same structure, different name
Industry pattern: HypeAuditor uses “advertising data” / “brand mentions” framing. No strong industry consensus on this specific field. Critical finding: CreatorDB has an internal inconsistency — sponsorList (IG) vs. sponsoredContent (YT pricing ref). This needs resolution regardless of what competitors do. Recommendation: See creatordb-naming-recommendations.md for detailed recommendation.

8. Per-Follower / Per-Subscriber Metrics

CompetitorTermExample
HypeAuditorNot exposed at field level(uses er as aggregate)
CreatorDB (YT)likesPerSubscriberUnder engagement object
CreatorDB (IG)likesPerFollowerUnder engagement object
Industry pattern: No competitor publicly exposes per-follower ratio metrics at the individual field level. This is a CreatorDB differentiator. Assessment: Since no competitor offers this, there is no industry convention to follow. The current naming using platform-specific terms (PerSubscriber for YT, PerFollower for IG) is the right approach — it mirrors the totalSubscribers/totalFollowers convention. Recommendation: Keep platform-specific terms. This is consistent with the established totalSubscribers/totalFollowers pattern.

Summary of Key Patterns

Decision AreaIndustry ConsensusCreatorDB AlignmentAction
CasingMixed (leans snake_case)camelCase (defensible)No change
Follower/subscriber termsPlatform-specificAlignedNo change
Display namefull_namedisplayName (YT) / username (IG — WRONG)Fix IG
HandleusernameuniqueId (YT) / userId (IG)Document as intentional
Nesting depthNo consensusModerate (good)No change
Time buckets7d/30dg7/g30 (established)No change
Engagement rateSingle termDual (more precise)No change
Sponsorship arraysNo consensusInternally inconsistentFix cross-platform
Per-follower metricsNot offered by othersPlatform-specificNo change
Last modified on March 25, 2026