Single-file Node.js scripts for every tool in the registry that lacked
a CLI. All follow the same pattern: env var auth, JSON output, consistent
`{tool} <resource> <action>` command structure, zero npm dependencies.
CLIs added: resend, sendgrid, mailchimp, kit, customer-io, ahrefs,
semrush, google-search-console, ga4, mixpanel, amplitude, segment,
adobe-analytics, rewardful, tolt, mention-me, dub, google-ads,
meta-ads, linkedin-ads, tiktok-ads, zapier.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.3 KiB
4.3 KiB
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
Option 2: Symlink for global access
# 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 |
|---|---|
ahrefs |
AHREFS_API_KEY |
adobe-analytics |
ADOBE_CLIENT_ID, ADOBE_ACCESS_TOKEN |
amplitude |
AMPLITUDE_API_KEY, AMPLITUDE_SECRET_KEY |
customer-io |
CUSTOMERIO_APP_KEY (App API), CUSTOMERIO_SITE_ID + CUSTOMERIO_API_KEY (Track API) |
dub |
DUB_API_KEY |
ga4 |
GA4_ACCESS_TOKEN |
google-ads |
GOOGLE_ADS_TOKEN, GOOGLE_ADS_DEVELOPER_TOKEN |
google-search-console |
GSC_ACCESS_TOKEN |
kit |
KIT_API_KEY, KIT_API_SECRET |
linkedin-ads |
LINKEDIN_ACCESS_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) |
resend |
RESEND_API_KEY |
rewardful |
REWARDFUL_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 |
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 |
|---|---|---|
resend.js |
Resend | |
sendgrid.js |
SendGrid | |
mailchimp.js |
Mailchimp | |
kit.js |
Kit | |
customer-io.js |
Customer.io | |
ahrefs.js |
SEO | Ahrefs |
semrush.js |
SEO | SEMrush |
google-search-console.js |
SEO | Google Search Console |
ga4.js |
Analytics | Google Analytics 4 |
mixpanel.js |
Analytics | Mixpanel |
amplitude.js |
Analytics | Amplitude |
segment.js |
Analytics | Segment |
adobe-analytics.js |
Analytics | Adobe Analytics |
rewardful.js |
Referral | Rewardful |
tolt.js |
Referral | Tolt |
mention-me.js |
Referral | Mention Me |
dub.js |
Links | Dub.co |
google-ads.js |
Ads | Google Ads |
meta-ads.js |
Ads | Meta Ads |
linkedin-ads.js |
Ads | LinkedIn Ads |
tiktok-ads.js |
Ads | TikTok Ads |
zapier.js |
Automation | Zapier |