Data Formats & Field Types
Understanding data formats ensures you correctly parse and use API responses. This guide covers all field types, formats, and data structures used throughout the Influship API.Core Data Types
Creator ID
Unique identifier for a creator (person-level).Format: UUID v4Example:
123e4567-e89b-12d3-a456-426614174000Usage: Use with /v1/creators endpoint or as creator_profile_id cross-referenceSocial Account ID
Unique identifier for a platform-specific social account.Format: UUID v4Example:
abc12345-6789-0def-ghij-klmnopqrstuvUsage: Returned in profile data, unique per platform accountPlatform
Social media platform identifier.Values:
instagram | tiktokExample: "instagram"Platform Support
Platform Support
- Instagram: ✅ Fully supported across all endpoints
- TikTok: ✅ Supported on most endpoints
- YouTube, Twitter/X: 🔜 Coming soon
Metric Fields
Follower Count
Total number of followers on a platform.Range:
0 to 999,999,999+Example: 125000Nullable: null if account is private or data unavailableNote: Real-time follower counts may vary from cached dataEngagement Rate
Percentage representing how engaged an audience is.Range:
0.0 to 100.0 (percentage)Example: 4.2 (represents 4.2%)Formula: (avg_likes + avg_comments) / follower_count * 100Calculation Period: Based on recent posts (typically last 12 posts)Nullable: null if insufficient data availableIndustry Benchmarks:- Micro-influencers (10K-100K): 3-7%
- Mid-tier (100K-500K): 2-5%
- Macro (500K+): 1-3%
Average Metrics
Calculated from recent post performance.Average likes per post from recent contentExample:
5240Period: Last 12 postsAverage comments per post from recent contentExample:
450Period: Last 12 postsOnly in: Detailed modeAverage video views for video postsExample:
15000Applies to: Video posts onlyOnly in: Detailed modeGrowth Metrics
Approximate monthly follower growth rate as percentageExample:
2.5 (2.5% growth per month)Interpretation:- Positive values: Growing audience
- Negative values: Declining audience
- Near zero: Stable audience
Content Metrics
Average posts published per weekExample:
4.5Period: Last 30 daysTotal number of posts publishedExample:
342Includes: All media types (photos, videos, carousels)Only in: Detailed modeNumber of Instagram Story highlightsExample:
8Platform: Instagram only (null for other platforms)Only in: Detailed modeTimestamp Fields
All timestamps use ISO 8601 format with UTC timezone.Format:
YYYY-MM-DDTHH:mm:ss.sssZExample: "2024-01-15T10:30:00.000Z"Timezone: Always UTC (Z suffix)Common Timestamp Fields
When content was originally published
When we last updated this data (metrics accurate as of this time)
Generic timestamp field (context-dependent)
Text Fields
Bio & Description Fields
Creator or account biography textMax Length: ~500 characters (platform dependent)Example:
"Certified personal trainer and wellness coach"Nullable: null if not provided by creatorPost caption textMax Length: Varies by platform
- Instagram: ~2,200 characters
- TikTok: ~2,200 characters
"Morning workout complete! 💪 Ready to take on the day. #fitness"Alt text or AI-generated image descriptionExample:
"Person doing yoga pose on beach at sunrise"Usage: Screen readers, content analysisUsername & Handle Fields
Platform-specific username (without @ symbol)Example:
"sarah_fitness"Format: Lowercase, alphanumeric, underscores, periodsPlatform display name (can include spaces, emoji, etc.)Example:
"Sarah | Fitness Coach 💪"Creator’s full name (person-level)Example:
"Sarah Johnson"URL Fields
All URLs are returned as absolute, fully-qualified URLs.Profile picture URLExample:
"https://cdn.influship.com/avatars/sarah.jpg"Validity: URLs typically valid for 24-48 hoursTip: Cache images to avoid broken linksExternal website link from profileExample:
"https://sarahfitness.com"Nullable: null if creator hasn’t added a linkPrimary media file URL (image or video)Example:
"https://cdn.influship.com/posts/img_123.jpg"Video thumbnail image URLExample:
"https://cdn.influship.com/posts/thumb_123.jpg"Condition: Only present when is_video: trueBoolean Fields
Whether account has platform verification badgeValues:
true | falsePlatform Differences:- Instagram: Blue checkmark (official verification)
- TikTok: Blue checkmark (official verification)
trueWhether post contains video contentValues:
true | falseExample: falseWhether account is set to business/creator modeValues:
true | false | nullNullable: null if platform doesn’t expose this dataPagination Fields
See Pagination Guide for detailed usage.Opaque pagination cursor (base64-encoded)Example:
"eyJpZCI6MjUsInNjb3JlIjowLjg1fQ=="Usage: Pass as cursor query parameter for next pageImportant: Never decode or construct manuallyWhether additional pages existValues:
true | falseLogic:true→ More results available, usecursorto fetchfalse→ This is the last page
Total matching results before paginationExample:
1247Usage: Display “Showing 1-25 of 1,247 results”Note: This is the total after filters, not the entire databaseAI-Generated Fields
AI Recommendation
AI-powered recommendation with score and explanation
Relevance score from 0 to 1Range:
0.0 to 1.0Interpretation:- 0.9-1.0: Excellent match
- 0.7-0.89: Strong match
- 0.5-0.69: Good match
- Below 0.5: Weak match
Human-readable explanation of the recommendationExample:
"Strong match for fitness content with high engagement and authentic wellness focus"AI Analysis
AI-generated content insights (optional feature)Only present when:
features: ["ai_analysis"] requestedCost: +0.5 credits per postBrand Safety
Brand safety analysis with rating and flagsOnly present when: Brand safety analysis requested
Brand safety ratingValues:
"A"- Safe (no significant risks)"B"- Moderate (minor concerns)"C"- Risk (significant concerns)
Response Structures
Search Response
Creator Response
Profile Response
Error Response
Field Availability
By Response Mode
- Lite Mode
- Detailed Mode
Always Available:
- Basic profile info (id, username, display_name)
- Follower count, engagement rate
- Verification status
- Avatar and external URLs
By Endpoint
Different endpoints return different field combinations:/v1/search - Search Results
/v1/search - Search Results
Returns: Creator data + social accounts + AI recommendationUnique Fields:
ai_recommendation, filtered_total/v1/creators - Creator Profiles
/v1/creators - Creator Profiles
Returns: Person-level creator data, optionally with social accountsUnique Fields: Creator
name, bio, avatar (person-level)/v1/profiles - Social Account Lookup
/v1/profiles - Social Account Lookup
/v1/posts/* - Post Data
/v1/posts/* - Post Data
Returns: Post content + metrics + optional AI featuresUnique Fields:
caption, media_url, likes_count, ai_analysis, brand_safetyNullable Fields
Many fields can benull. Here’s why and how to handle them:
Why null?
Why null?
Fields are
null when:- Creator hasn’t provided the information
- Platform doesn’t expose the data
- Account is private
- Insufficient data for calculations
- Feature not requested (e.g., AI features)
Common Nullable Fields
Common Nullable Fields
bio- Creator hasn’t written a bioexternal_url- No link in profilefollower_count- Private accountengagement_rate- Not enough posts to calculateai_analysis- Feature not requestedthumbnail_url- Post is not a video
Handling null in Code
Handling null in Code
Data Freshness
Real-time vs Cached
Updated with every API request:
- Creator existence checks
- API metadata (request_id, credits)
- Pagination state
Updated every 24-48 hours:
- Follower counts
- Engagement metrics
- Post counts
- Avatar URLs
scraped_at timestamp to know when data was last updatedRarely change after creation:
- Post content (caption, media)
- Posted timestamps
- Creator IDs
Best Practices
Check for null
Always handle nullable fields gracefully with defaults or conditional rendering
Use TypeScript/Types
Leverage type definitions to catch null handling issues at compile time
Cache URLs
Avatar and media URLs expire after 24-48 hours - cache images to avoid broken links
Respect Data Freshness
Check
scraped_at timestamps when data recency mattersParse Timestamps Correctly
Always parse ISO 8601 strings to native date objects in your timezone
Handle Large Numbers
Use appropriate number types for follower counts (can exceed 32-bit integers)