Build with the SimilarIQ SDKs
First-class Node.js and Python clients for the entire SimilarIQ platform — search, bulk research, history, exports, watchlists, and share links. Zero dependencies, typed errors, TypeScript definitions included, automatic refunds on failed searches.
Node.js
npm install similariq-sdk
const { SimilarIQ } = require("similariq-sdk");
const iq = new SimilarIQ({ apiKey: process.env.SIMILARIQ_API_KEY });
// One call → the ranked competitive landscape
const { competitors } = await iq.search("salesforce.com");
// [{ rank: 1, company: 'HubSpot', domain: 'hubspot.com',
// matchScore: 97, type: 'Direct', confidence: 94, likelyCompetitor: true }]
// Bulk research with a built-in poller
const { jobId } = await iq.bulk(["stripe.com", "square.com", "adyen.com"]);
await iq.bulkWait(jobId, { onProgress: j => console.log(j.status) });
const csv = await iq.bulkDownload(jobId);
Python
pip install similariq
from similariq import SimilarIQ
iq = SimilarIQ(api_key="sk-live-...")
result = iq.search("salesforce.com")
for c in result["competitors"][:5]:
print(c["rank"], c["company"], c["matchScore"], c["type"])
job = iq.bulk(["stripe.com", "square.com"])
final = iq.bulk_wait(job["jobId"])
csv_text = iq.bulk_download(job["jobId"])
Full method reference
| Node | Python | What it does |
|---|---|---|
| iq.search(domain, {limit}) | iq.search(domain, limit) | Ranked competitor search — 1 credit |
| iq.bulk(domains) | iq.bulk(domains) | Start bulk research — 1 credit/domain |
| iq.bulkWait(jobId) | iq.bulk_wait(job_id) | Poll a bulk job to completion |
| iq.bulkDownload(jobId) | iq.bulk_download(job_id) | Bulk results as CSV |
| iq.history() | iq.history() | Recent searches — free |
| iq.results(searchId) | iq.results(search_id) | Full past results — free, never re-charges |
| iq.companies({sourceWebsite}) | iq.companies(source_website) | My Companies workspace — free |
| iq.saveCompany({domain}) | iq.save_company(domain) | Add to watchlist |
| iq.savedCompanies() | iq.saved_companies() | Read watchlist |
| iq.share(searchId) | iq.share(search_id) | Public share link |
| iq.balance() | iq.balance() | Credits remaining — free |
Typed errors
try {
await iq.search("example.com");
} catch (err) { // SimilarIQError with .status and .body
if (err.status === 402) console.log("Out of credits");
}
Frequently asked questions
How much does a search cost?
Every search costs 1 credit whether it returns 10 or 100 results. Credits come with any paid plan ($0.10–$0.24 per search depending on tier) or pay-as-you-go at $0.50 per search with no subscription. Reading past results, history, and exports is always free.
What data does a search return?
A ranked list of up to 100 competitors, look-alikes, and similar companies for any domain — each with a company name, website, 0-100 match score, relationship type (Direct, Indirect, Adjacent, or Emerging), a 0-100 confidence score, and a likely-competitor flag. Results are generated by SimilarIQ's proprietary AI research engine and cross-validated across multiple intelligence sources.
How do I get an API key?
Sign up free at similariq.ai, add credits or a plan, then create a key in the app under API Keys. Keys start with sk-live- and are shown once at creation. The same key works for the REST API, SDKs, CLI, and MCP server.
What happens if a search fails?
Failed searches are automatically refunded — you are only charged for searches that return results.
Do the SDKs have any dependencies?
No. The Node SDK uses the built-in fetch (Node 18+) and ships TypeScript definitions; the Python SDK is standard-library only (Python 3.8+) and will automatically use certifi's CA bundle if it's installed.
Is TypeScript supported?
Yes — similariq-sdk ships complete .d.ts definitions covering every method, the Competitor shape, bulk job objects, and the SimilarIQError class.