CLI Reference
Installation
npm install -g @igamingfinder/cli
igamingfinder --help
Or run it straight from npm: npx -y @igamingfinder/cli --help (Node 18+).
$ help --topic=early-accessThe CLI is in early access. Sign up free to get your API key.
Authentication
No account yet? igamingfinder signup opens the signup page. New accounts get welcome bonus credits, and the link in the email we send you finishes registration. Then save your key. The CLI asks for it and hides what you type, so the key stays out of shell history:
igamingfinder config set-key
igamingfinder account
The CLI saves the key in ~/.config/igamingfinder/config.json, readable only by you. IGAMINGFINDER_API_KEY in your environment takes priority over the saved key; for MCP, put it in your client's environment settings. igamingfinder config show displays only the first eight characters of your key. Do not pass the key as an argument: config set-key <key> and the --token flag can leave it in shell history, and --token can show it in process lists.
Credits
Previews, account, logos search, people roles and prospect lists are free. Each paid command says in its --help how it is billed, and every paid response includes credits_charged. Add --max-credits <n> to a paid command to refuse a call that would cost more than that.
Commands
Signals
# Operator changes on the Anjouan register: one credit per Signal row
igamingfinder signals market-entries --role operator --market anjouan --page-size 5
# The next page: pass next_cursor from the previous response
igamingfinder signals market-entries --role operator --market anjouan \
--after 'igfcur_...' --page-size 5
# Revocations on the UKGC register
igamingfinder signals register-changes --jurisdiction ukgc --event-type revoked
# Operator sites first seen on one platform
igamingfinder signals platform-sites --role operator --platform digitain
market-entries lists operator changes on one market's official register. Each row has a signal_ref, the company name as the register publishes it, and the type of change. The same rows also appear in register-changes. Only rows that the register lists as operators are included. The output also contains billing and a next_cursor.
To get the next page, pass next_cursor as --after and keep the same --role, --market, --occurred-from and --occurred-to. If a cursor is rejected, start again without --after.
In register-changes, a license number or a matched company may be missing for some register rows. Removal from a register does not mean the license was revoked; only a revoked row says that. In platform-sites, the date is when we first saw the site on that platform, not when it moved.
Companies
igamingfinder companies preview --jurisdiction mga # free: result count + cost estimate
igamingfinder companies search --jurisdiction mga # paid company search
igamingfinder companies resolve --domain stake.com # full company profile (paid)
igamingfinder companies people --company-ref igfc_a1b2c3 # decision-maker contacts (paid)
preview costs 0 credits. Run it before search to see how many rows match and what they cost.
companies resolve, companies firmographics, and companies people each take exactly one identifier: --company-ref, --domain, --page-url, or --legal-entity. Names are search text: use companies search --q <name> and resolve with a returned identifier; --name is not a supported option. --page-url takes a company page URL with the path /company/<slug> and works even if the page-only profile has no company_ref. An ambiguous identifier returns 409 ambiguous_company with a search next_action, at zero credits. Recommended: companies search, then --page-url. Standalone people and firmographics by --domain use the main company page of the domain; each person names its page. When the main page is not known, the call is refused at zero credits with a related search that lists the pages. A domain that no company page names, a confirmed shared platform, or an overly broad domain gives zero-charge 404. To resolve a licence number, use licenses resolve and pass the licence's company_ref.
--related lists the organizations related to one company_ref, company page URL, or domain, one row per company page:
igamingfinder companies preview --related stake.com # free: row count + cost
igamingfinder companies search --related stake.com # paid, per row
--related combines only with --page, --page-size, and --max-credits. See Related organizations.
Firmographics and people are paid optional sections of resolve (--include firmographics and --include people), or available as standalone queries with no prior profile purchase:
igamingfinder companies firmographics --company-ref igfc_a1b2c3 --max-credits 12
igamingfinder companies people --page-url https://www.linkedin.com/company/example-gaming --role compliance
igamingfinder companies people --company-ref igfc_a1b2c3 --counts-only # free role counts
igamingfinder companies resolve --company-ref igfc_a1b2c3 --include firmographics --include people
companies people returns one page of contacts: 10 when --page-size is absent, 100 at most. Every page is charged. When more contacts are left, the CLI prints the command for the next page; it is the same command with --after <next_cursor>. With --role, the pages together deliver every person of the company page who matches. If a cursor is rejected, nothing is charged; start again without --after. --all follows the cursor to the last contact. It needs --max-credits as the budget for the whole walk and stops before the total would exceed it.
igamingfinder companies people --page-url '<company page URL>' --page-size 100
igamingfinder companies people --page-url '<company page URL>' --page-size 100 --after 'igfcur_...'
igamingfinder companies people --page-url '<company page URL>' --role ceo --all --max-credits 900
Firmographics are one flat object or null, billed 12 credits when available and zero when unavailable. Contacts are billed per person returned; none/unavailable costs zero. Set --max-credits to cap the requested data. No --domain-ref selector or purchased-profile receipt is needed.
Cost: 12 credits / delivered company
Licenses
igamingfinder licenses preview --jurisdiction ukgc
igamingfinder licenses search --jurisdiction mga --page-size 25
igamingfinder licenses resolve igfl_a1b2c3
Domain Verdicts
igamingfinder domains resolve roobet.com # trust verdict for one domain
igamingfinder domains resolve ncc.bet --include operator_launch_profile \
--max-age-days 7 --max-credits 6 # verdict + launch profile
igamingfinder domains search --verdict blocklisted --geo pl # bulk blocklist
domains search accepts --since, --until and --dropped-before (ISO 8601) to find domains that were blocklisted or left the blocklist in a date range.
The terminal output of the Operator Launch Profile shows whether a profile is available, the launch state, the Licensee on the register, the legal names on the site, the number of website emails, the number of related domains, when we checked, and the cost. --json returns the full response. The Licensee on the register, the website operator named on the site, and technical links such as shared hosting are shown separately. A technical link does not show who owns a site.
For Domain resolve, --max-age-days N refreshes observation sections older than N days; 0 always refreshes. A Domain site check can take up to 240 seconds, so scripts should allow at least 300 seconds. Company firmographics and people instead use the exact Company page and do not accept --max-age-days or --allow-stale-on-error.
igamingfinder domains resolve ncc.bet --include operator_launch_profile --max-age-days 7 --max-credits 6
igamingfinder domains resolve bc.game --include payment_methods --max-age-days 7
An available profile costs 6 credits in total: 1 for the verdict and 5 for the profile. If no profile is available, the response says why and you pay only the 1-credit verdict.
Logos
igamingfinder logos search pragmatic # find a logo by name
igamingfinder logos search skrill --kind payment_method # only one kind of logo
igamingfinder logos search "book of ra" --json # machine-readable
Free. Each row has name, kind, slug, domain, role and logo_url and nothing else. kind and domain only build the image address (img.igamingfinder.com/{domain}); they do not mean the company owns that domain. role says what the company does and is empty when we do not know.
The search needs at least three characters and returns at most ten rows with no paging. Use it to check whether we have a logo, not to list all logos.
The image itself needs no key at all — https://img.igamingfinder.com/{domain} redirects to
the stored file, or serves a monogram when we hold no logo, so an <img> never breaks.
People roles
igamingfinder people roles # the role keys
igamingfinder people roles --json # machine-readable
igamingfinder companies people --company-ref igfc_a1b2c3 --role compliance # use a key as a filter
Free. Each key has a one-sentence meaning, seniority, function, the job-title spellings it matches, and how many people it matched when we last measured. Pass a key as --role; any other text is matched as free text. The job title decides the match; the headline is used only for people with no job title.
Prospect lists
Request a prospect list with the public request form or the Dashboard form at /prospect-lists/new. The CLI only reads prospect lists: prospect-lists list, prospect-lists show and prospect-lists download are free.
igamingfinder prospect-lists list --status ready --page-size 20
igamingfinder prospect-lists show igfpl_example
igamingfinder prospect-lists download igfpl_example -o prospect-list.csv
prospect-lists show shows the results only when the list is ready, and prospect-lists download returns CSV only for a ready list. A prospect list carries only data you can verify: accounts, their organizations, licences and brands, and named contacts. The CLI does not send messages.
Account
igamingfinder account
Shows your plan and credit balance (granted, used, reserved, available).
Output Formats
Default output is formatted for the terminal. Commands with a table view accept --json, and data commands switch to JSON automatically when piped:
igamingfinder signals market-entries --role operator --market anjouan \
| jq -r '.signals[] | [.signal_ref, .subject.published_legal_name, .license.license_number] | @tsv'
igamingfinder companies search --jurisdiction mga --json | jq -r '.hits[] | .primary_domain.domain // empty'
igamingfinder domains search --verdict blocklisted --json | jq -r '.domains[].domain'
Commands compose — resolve every domain a search returned:
igamingfinder companies search --jurisdiction mga --json \
| jq -r '.hits[] | .primary_domain.domain // empty' \
| xargs -n1 igamingfinder domains resolve
Shell completion
Generate a completion script for your shell (completes command, subcommand, and flag names):
igamingfinder completion fish > ~/.config/fish/completions/igamingfinder.fish
igamingfinder completion zsh > "${fpath[1]}/_igamingfinder" # then run: compinit
igamingfinder completion bash > ~/.local/share/bash-completion/completions/igamingfinder
MCP Server
The same binary includes the MCP server for Claude Desktop and Cursor: igamingfinder mcp.
$ help --topic=command-discoveryRunigamingfinder --helpfor the full command list, origamingfinder <command> --helpfor command-specific options.