copywriting
Marketing copy for homepages, landing pages, pricing pages, and other conversion-focused web pages.
instantly
Instantly.ai API via curl. Use this skill for cold email outreach automation, managing campaigns, leads, and email accounts.
Full skill instructions
Use the Instantly API via direct curl calls to automate cold email outreach, manage campaigns, leads, and sending accounts.
Official docs:
https://developer.instantly.ai/
Use this skill when you need to:
export INSTANTLY_API_KEY="your-api-key"
Create API keys with specific permissions:
campaigns:read, campaigns:create, campaigns:updateleads:read, leads:create, leads:update, leads:deletelead_lists:read, lead_lists:createanalytics:readall:all (full access)Important: When using
$VARin a command that pipes to another command, wrap the command containing$VARinbash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"' | jq '.items[] | {id, name}'
All examples below assume you have INSTANTLY_API_KEY set.
The base URL for API V2 is:
https://api.instantly.ai/api/v2Authentication uses Bearer token in the Authorization header.
Get all campaigns:
bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {id, name, status}'
With filters:
bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns?status=ACTIVE&limit=10" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {id, name}'
Status values: ACTIVE, PAUSED, COMPLETED, DRAFTED
Get campaign details by ID. Replace <your-campaign-id> with the actual campaign ID:
bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns/<your-campaign-id>" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '{id, name, status, daily_limit}'
Create a new campaign (requires campaign_schedule):
Write to /tmp/instantly_request.json:
{
"name": "My New Campaign",
"daily_limit": 50,
"campaign_schedule": {
"schedules": [
{
"name": "Weekday Schedule",
"timezone": "America/Chicago",
"days": {
"monday": true,
"tuesday": true,
"wednesday": true,
"thursday": true,
"friday": true,
"saturday": false,
"sunday": false
},
"timing": {
"from": "09:00",
"to": "17:00"
}
}
]
}
}
Then run:
bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'
Control campaign status. Replace <your-campaign-id> with the actual campaign ID:
# Pause campaign
bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns/<your-campaign-id>/pause" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}"'
# Activate campaign
bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns/<your-campaign-id>/activate" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}"'
List leads (POST endpoint due to complex filters):
Write to /tmp/instantly_request.json:
{
"limit": 10
}
Then run:
bash -c 'curl -s "https://api.instantly.ai/api/v2/leads/list" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json' | jq '.items[] | {id, email, first_name, last_name}'
Filter by campaign:
Write to /tmp/instantly_request.json:
{
"campaign_id": "your-campaign-id",
"limit": 20
}
Then run:
bash -c 'curl -s "https://api.instantly.ai/api/v2/leads/list" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json' | jq '.items[] | {email, status}'
Add a single lead:
Write to /tmp/instantly_request.json:
{
"email": "[email protected]",
"first_name": "John",
"last_name": "Doe",
"company_name": "Acme Corp",
"campaign_id": "your-campaign-id"
}
Then run:
bash -c 'curl -s "https://api.instantly.ai/api/v2/leads" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'
With custom variables:
Write to /tmp/instantly_request.json:
{
"email": "[email protected]",
"first_name": "Jane",
"campaign_id": "your-campaign-id",
"custom_variables": {
"role": "CTO",
"industry": "SaaS"
}
}
Then run:
bash -c 'curl -s "https://api.instantly.ai/api/v2/leads" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'
Get lead by ID. Replace <your-lead-id> with the actual lead ID:
bash -c 'curl -s "https://api.instantly.ai/api/v2/leads/<your-lead-id>" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"'
Update lead information:
Write to /tmp/instantly_request.json:
{
"first_name": "Updated Name",
"custom_variables": {
"notes": "High priority"
}
}
Then run. Replace <your-lead-id> with the actual lead ID:
bash -c 'curl -s "https://api.instantly.ai/api/v2/leads/<your-lead-id>" -X PATCH -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'
Get all lead lists:
bash -c 'curl -s "https://api.instantly.ai/api/v2/lead-lists" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {id, name}'
Create a new lead list:
Write to /tmp/instantly_request.json:
{
"name": "Q1 Prospects"
}
Then run:
bash -c 'curl -s "https://api.instantly.ai/api/v2/lead-lists" -X POST -H "Authorization: Bearer ${INSTANTLY_API_KEY}" -H "Content-Type: application/json" -d @/tmp/instantly_request.json'
Get connected sending accounts:
bash -c 'curl -s "https://api.instantly.ai/api/v2/accounts" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {email, status, warmup_status}'
Verify your API key is valid:
bash -c 'curl -s "https://api.instantly.ai/api/v2/api-keys" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[0] | {name, scopes}'
List endpoints support pagination:
# First page
bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns?limit=10" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '{items: .items | length, next_starting_after: .next_starting_after}'
# Next page (replace <your-cursor> with the next_starting_after value from the previous response)
bash -c 'curl -s "https://api.instantly.ai/api/v2/campaigns?limit=10&starting_after=<your-cursor>" -H "Authorization: Bearer ${INSTANTLY_API_KEY}"' | jq '.items[] | {id, name}'
Authorization: Bearer headerMarketing copy for homepages, landing pages, pricing pages, and other conversion-focused web pages.
Fast image generation with Flux 2 Klein, optimized for sub-second iteration and multi-reference brand styling.
Psychological principles and mental models for understanding customer behavior and influencing marketing decisions.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Optimize content for discovery, citation, and visibility across AI search platforms and LLM assistants.
Systematic improvement of existing marketing copy through seven focused editing passes.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
Design and optimize systems connecting marketing, sales, and customer success into a unified revenue engine.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Convert websites into professional HyperFrames videos with guided storyboarding and brand-aligned composition.
Revolutionize Video Creation with AI-Generated Avatars and Voices
Social media on autopilot
Design custom logos instantly with AI.
Text-heavy marketing and design images
Boost Your SEO with Content and SEO Silos
Revolutionize Your Marketing with AI-Powered MarketingBlocks!
10X faster & free AI content creation for 100+ use cases
Tribescaler | Make Your Tweets Go Viral