MyLeadFox

For the terminal

7,708,982 stores, one command away

mlf searches the live database from your shell and pipes the results into CSV, JSON or whatever comes next. No integration to write.

Install it

Node 18 or newer, and a key from Settings → API keys.

npm install -g myleadfox-cli
mlf login mlf_live_YOUR_KEY
mlf search --country US --platform shopify

What you will actually type

mlf search --country US --platform shopify --min-products 50

How many match, and a search id to pull them with. One search credit, no rows.

mlf rows --search-id de11cac3 --pages 5 --csv > leads.csv

Five pages straight into a spreadsheet file. Rows go to the file; prices and prompts go to the screen.

mlf lookup gymshark.com,allbirds.com

Stores you already know by name. You pay only for the ones we hold.

mlf enrich --file domains.txt --dry-run

What contact enrichment would cost, without spending anything.

mlf rows --country DE --has-email --print-filters

Shows the filter JSON it will send — the fastest way to learn the API by using it.

Built for pipes, and for not spending by accident

Rows out, everything else aside

Rows go to standard output; prices, prompts, progress and errors go to standard error. So --csv > leads.csv gives you a file a spreadsheet opens, with no stray line at the top of it.

500 credits is where it asks

Below that it just works. At or above it, you see the price first — priced against the real match count, not the number of rows you asked for. --dry-run prices without spending; --yes is how a script says it meant it.

Four ways out

A table to read, JSON to inspect, CSV for a spreadsheet, NDJSON to stream into something else a record at a time. Multi-page pulls stream as they arrive rather than collecting in memory.

Common questions

What does the CLI cost to use?

The tool is free. The calls it makes spend the same credits as the API and the interface: a search credit for a count, a lead per row delivered, an enrichment credit per contact found.

Can it spend my credits by accident?

Anything that would spend 500 or more asks first, and prices itself against the real match count. --dry-run prices without spending; --yes is how a script says it meant it.

Where is my API key stored?

mlf login writes it to ~/.myleadfox/config.json with permissions that let only your user read it. You can skip the file entirely and set MYLEADFOX_API_KEY instead, which is what a CI job should do. A key passed as a flag beats the environment, and the environment beats the file.

Can I use it in a script or a cron job?

Yes. Pass --yes to skip the confirmation, and use --csv or --ndjson. Rows go to standard output and everything else to standard error, so redirecting output gives you a clean file. Without a terminal the tool refuses to spend rather than hanging on a prompt nobody can answer.

Does it support the whole API?

Yes. Flags cover the common filters, and --filter takes raw JSON for anything they do not, so the CLI is never a smaller surface than the API. --print-filters shows exactly what it will send.

What do I need?

Node 18 or newer, and an API key from a paid plan. The API is not available on the Free Trial.

The API it wraps →Want your AI assistant to do it? The MCP server →See the data first →

Put the whole database behind one command

An API key comes with every paid plan, and the free trial shows you the data before you decide.