hvac-marketing-skills/tools/clis
Corey Haines 2349865acb fix: correct remaining 5 API issues from codex review
- meta-ads: use empty array for special_ad_categories (not ['NONE'])
- ahrefs: add --target validation to all 5 site-explorer commands
- wistia: read SRT file contents from disk for captions create
- tiktok-ads: use URLSearchParams for cleaner URL construction
- mixpanel: require --from-date/--to-date for retention, add --event filter for export

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:38:36 -08:00
..
activecampaign.js fix: correct API issues found by codex review across 10 CLIs 2026-02-17 11:57:42 -08:00
adobe-analytics.js fix: correct Adobe Analytics missing header and Clearbit auth method 2026-02-17 11:55:05 -08:00
ahrefs.js fix: correct remaining 5 API issues from codex review 2026-02-17 14:38:36 -08:00
amplitude.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
apollo.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
beehiiv.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
brevo.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
buffer.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
calendly.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
clearbit.js fix: correct Adobe Analytics missing header and Clearbit auth method 2026-02-17 11:55:05 -08:00
customer-io.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
dataforseo.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
demio.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
dub.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
g2.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
ga4.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
google-ads.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
google-search-console.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
hotjar.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
hunter.js feat: add email outreach CLIs for backlink building 2026-02-17 14:09:50 -08:00
instantly.js feat: add email outreach CLIs for backlink building 2026-02-17 14:09:50 -08:00
intercom.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
keywords-everywhere.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
kit.js fix: correct API issues found by codex review across 10 CLIs 2026-02-17 11:57:42 -08:00
klaviyo.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
lemlist.js feat: add email outreach CLIs for backlink building 2026-02-17 14:09:50 -08:00
linkedin-ads.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
livestorm.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
mailchimp.js fix: correct API issues found by codex review across 10 CLIs 2026-02-17 11:57:42 -08:00
mention-me.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
meta-ads.js fix: correct remaining 5 API issues from codex review 2026-02-17 14:38:36 -08:00
mixpanel.js fix: correct remaining 5 API issues from codex review 2026-02-17 14:38:36 -08:00
onesignal.js fix: correct API issues found by codex review across 10 CLIs 2026-02-17 11:57:42 -08:00
optimizely.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
paddle.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
partnerstack.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
plausible.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
postmark.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
README.md feat: add email outreach CLIs for backlink building 2026-02-17 14:09:50 -08:00
resend.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
rewardful.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
savvycal.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
segment.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
semrush.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
sendgrid.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
snov.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
tiktok-ads.js fix: correct remaining 5 API issues from codex review 2026-02-17 14:38:36 -08:00
tolt.js fix: correct API issues found by second codex review across 14 CLIs 2026-02-17 14:31:29 -08:00
trustpilot.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
typeform.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00
wistia.js fix: correct remaining 5 API issues from codex review 2026-02-17 14:38:36 -08:00
zapier.js feat: add --dry-run flag to all 47 CLI tools 2026-02-17 11:47:12 -08:00

Marketing CLIs

Zero-dependency, single-file CLI tools for marketing platforms that don't ship their own.

Every CLI is a standalone Node.js script (Node 18+) with no npm install required — just chmod +x and go.

Install

Option 1: Run directly

node tools/clis/ahrefs.js backlinks list --target example.com
# Symlink any CLI you want available globally
ln -sf "$(pwd)/tools/clis/ahrefs.js" ~/.local/bin/ahrefs
ln -sf "$(pwd)/tools/clis/resend.js" ~/.local/bin/resend

# Then use directly
ahrefs backlinks list --target example.com
resend send --from you@example.com --to them@example.com --subject "Hello" --html "<p>Hi</p>"

Option 3: Add the whole directory to PATH

export PATH="$PATH:/path/to/marketingskills/tools/clis"

Authentication

Every CLI reads credentials from environment variables:

CLI Environment Variable
activecampaign ACTIVECAMPAIGN_API_KEY, ACTIVECAMPAIGN_API_URL
adobe-analytics ADOBE_CLIENT_ID, ADOBE_ACCESS_TOKEN
ahrefs AHREFS_API_KEY
amplitude AMPLITUDE_API_KEY, AMPLITUDE_SECRET_KEY
apollo APOLLO_API_KEY
beehiiv BEEHIIV_API_KEY
brevo BREVO_API_KEY
buffer BUFFER_API_KEY
calendly CALENDLY_API_KEY
clearbit CLEARBIT_API_KEY
customer-io CUSTOMERIO_APP_KEY (App API), CUSTOMERIO_SITE_ID + CUSTOMERIO_API_KEY (Track API)
dataforseo DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD
demio DEMIO_API_KEY, DEMIO_API_SECRET
dub DUB_API_KEY
g2 G2_API_TOKEN
ga4 GA4_ACCESS_TOKEN
google-ads GOOGLE_ADS_TOKEN, GOOGLE_ADS_DEVELOPER_TOKEN
google-search-console GSC_ACCESS_TOKEN
hotjar HOTJAR_CLIENT_ID, HOTJAR_CLIENT_SECRET
intercom INTERCOM_API_KEY
keywords-everywhere KEYWORDS_EVERYWHERE_API_KEY
kit KIT_API_KEY, KIT_API_SECRET
klaviyo KLAVIYO_API_KEY
linkedin-ads LINKEDIN_ACCESS_TOKEN
livestorm LIVESTORM_API_TOKEN
mailchimp MAILCHIMP_API_KEY
mention-me MENTIONME_API_KEY
meta-ads META_ACCESS_TOKEN
mixpanel MIXPANEL_TOKEN (ingestion), MIXPANEL_API_KEY + MIXPANEL_SECRET (query)
onesignal ONESIGNAL_REST_API_KEY, ONESIGNAL_APP_ID
optimizely OPTIMIZELY_API_KEY
paddle PADDLE_API_KEY
partnerstack PARTNERSTACK_PUBLIC_KEY, PARTNERSTACK_SECRET_KEY
plausible PLAUSIBLE_API_KEY
postmark POSTMARK_API_KEY
resend RESEND_API_KEY
rewardful REWARDFUL_API_KEY
savvycal SAVVYCAL_API_KEY
segment SEGMENT_WRITE_KEY (tracking), SEGMENT_ACCESS_TOKEN (profile)
semrush SEMRUSH_API_KEY
sendgrid SENDGRID_API_KEY
tiktok-ads TIKTOK_ACCESS_TOKEN
tolt TOLT_API_KEY
trustpilot TRUSTPILOT_API_KEY, TRUSTPILOT_API_SECRET, TRUSTPILOT_BUSINESS_UNIT_ID
typeform TYPEFORM_API_KEY
hunter HUNTER_API_KEY
instantly INSTANTLY_API_KEY
lemlist LEMLIST_API_KEY
snov SNOV_CLIENT_ID, SNOV_CLIENT_SECRET
wistia WISTIA_API_KEY
zapier ZAPIER_API_KEY

Command Pattern

All CLIs follow the same structure:

{tool} <resource> <action> [options]

Examples:

ahrefs backlinks list --target example.com --limit 50
semrush keywords overview --phrase "marketing automation" --database us
mailchimp campaigns list --limit 20
resend send --from you@example.com --to them@example.com --subject "Hello" --html "<p>Hi</p>"
dub links create --url https://example.com/landing --key summer-sale

Output

All CLIs output JSON to stdout for easy piping:

# Pipe to jq
ahrefs backlinks list --target example.com | jq '.backlinks[].url_from'

# Save to file
semrush keywords overview --phrase "saas marketing" --database us > keywords.json

# Use in scripts
DOMAINS=$(rewardful affiliates list | jq -r '.data[].email')

Available CLIs

CLI Category Tool
activecampaign.js Email/CRM ActiveCampaign
adobe-analytics.js Analytics Adobe Analytics
ahrefs.js SEO Ahrefs
amplitude.js Analytics Amplitude
apollo.js Data Enrichment Apollo.io
beehiiv.js Newsletter Beehiiv
brevo.js Email/SMS Brevo
buffer.js Social Buffer
calendly.js Scheduling Calendly
clearbit.js Data Enrichment Clearbit
customer-io.js Email Customer.io
dataforseo.js SEO DataForSEO
demio.js Webinar Demio
dub.js Links Dub.co
g2.js Reviews G2
ga4.js Analytics Google Analytics 4
google-ads.js Ads Google Ads
google-search-console.js SEO Google Search Console
hotjar.js CRO Hotjar
hunter.js Email Outreach Hunter.io
instantly.js Email Outreach Instantly.ai
intercom.js Messaging Intercom
keywords-everywhere.js SEO Keywords Everywhere
kit.js Email Kit
klaviyo.js Email/SMS Klaviyo
lemlist.js Email Outreach Lemlist
linkedin-ads.js Ads LinkedIn Ads
livestorm.js Webinar Livestorm
mailchimp.js Email Mailchimp
mention-me.js Referral Mention Me
meta-ads.js Ads Meta Ads
mixpanel.js Analytics Mixpanel
onesignal.js Push OneSignal
optimizely.js A/B Testing Optimizely
paddle.js Payments Paddle
partnerstack.js Affiliate PartnerStack
plausible.js Analytics Plausible
postmark.js Email Postmark
resend.js Email Resend
rewardful.js Referral Rewardful
savvycal.js Scheduling SavvyCal
segment.js Analytics Segment
semrush.js SEO SEMrush
sendgrid.js Email SendGrid
snov.js Email Outreach Snov.io
tiktok-ads.js Ads TikTok Ads
tolt.js Referral Tolt
trustpilot.js Reviews Trustpilot
typeform.js Forms Typeform
wistia.js Video Wistia
zapier.js Automation Zapier