Why LinkedIn JSON extraction matters
LinkedIn profiles contain rich data that can supercharge your prospecting efforts. But manually copying profile information is time-consuming and error-prone. Clay's LinkedIn JSON extraction feature allows you to programmatically pull comprehensive profile data at scale.
In this guide, you'll learn how to extract LinkedIn profile data including work history, education, skills, connections, and more - all in a structured JSON format that's perfect for enrichment workflows.
What you'll need
- A Clay account (Professional plan recommended for LinkedIn features)
- LinkedIn Sales Navigator (optional but recommended for advanced searches)
- List of LinkedIn profile URLs or search criteria
- Basic understanding of Clay's table interface
Step 1: Set up your Clay table
Start by creating a new table in Clay. You'll want to structure it with the following columns:
- LinkedIn URL - The profile URLs you want to extract
- Profile JSON - Where the extracted data will go
- Name - Extracted from the JSON
- Current Title - Current job title
- Company - Current company
- Location - Geographic location
Step 2: Configure the LinkedIn JSON enrichment
Clay offers a dedicated LinkedIn JSON enrichment that pulls comprehensive profile data. Here's how to set it up:
- Click the "+" button to add a new column
- Search for "LinkedIn JSON" in the enrichment options
- Map your LinkedIn URL column as the input
- Configure the output to capture the full JSON response
The JSON output includes nested objects with work experience, education, skills, and more. You can parse specific fields using Clay's JSON parsing functions.
Step 3: Parse the JSON data
Once you have the raw JSON, you'll want to extract specific fields for easier use. Here are the most valuable data points to parse:
- Basic Info: name, headline, location, industry
- Current Role: job title, company, start date
- Experience: Previous roles and companies
- Education: Schools, degrees, graduation dates
- Skills: Top skills and endorsements
- Connections: Connection count and mutual connections
Use Clay's JSON parsing formulas to extract these fields into separate columns for easier analysis and personalization.
Step 4: Handle rate limits and errors
LinkedIn has strict rate limits on profile access. Here's how to work within them:
- Process profiles in batches of 100-200 at a time
- Add delays between batches (Clay handles this automatically)
- Monitor your Clay credit usage
- Set up error handling for private or restricted profiles
Step 5: Enhance with additional data
Once you have the LinkedIn JSON, you can layer on additional enrichment:
- Company data: Employee count, revenue, industry details
- Contact info: Email finder, phone numbers
- Intent signals: Recent job changes, company news
- Social presence: Other social profiles and activity
Advanced techniques
Bulk URL collection
Instead of manually collecting LinkedIn URLs, you can:
- Use Sales Navigator search results
- Extract URLs from company pages
- Import from existing CRM data
- Use Clay's LinkedIn search functionality
Data normalization
Raw LinkedIn JSON can be messy. Clean it up with:
- Title standardization (CEO, Chief Executive Officer → CEO)
- Company name normalization
- Location parsing (San Francisco, CA → San Francisco)
- Date formatting for work history
Export and integration
Once your data is clean, you can:
- Export to your CRM (HubSpot, Salesforce, etc.)
- Send to outreach tools (Outreach, SalesLoft, etc.)
- Trigger automated workflows
- Feed into personalization engines
Best practices and tips
- Respect privacy: Only extract data you need and have legitimate business use for
- Stay compliant: Follow GDPR, CCPA, and other privacy regulations
- Keep it fresh: LinkedIn data changes frequently - update regularly
- Quality over quantity: Better to have 100 high-quality profiles than 1000 incomplete ones
- Test first: Start with a small batch to verify your setup works correctly
Troubleshooting common issues
Empty or missing data
- Profile may be private or restricted
- LinkedIn URL format is incorrect
- User may have limited their profile visibility
Rate limit errors
- Reduce batch sizes
- Increase delays between requests
- Consider upgrading your Clay plan for higher limits
JSON parsing errors
- Check for missing or null values
- Use conditional formulas to handle empty fields
- Validate JSON structure before parsing
Next steps
Now that you can extract LinkedIn JSON at scale, consider these advanced workflows:
- Automatically trigger outreach sequences based on profile data
- Score prospects based on job titles, company size, and experience
- Monitor for job changes and trigger re-engagement campaigns
- Build lookalike audiences based on your best customers' profiles
The combination of rich LinkedIn data and Clay's powerful enrichment capabilities opens up endless possibilities for intelligent prospecting and personalization.