Skip to main content

discolike

Official Python SDK for the DiscoLike API — discover lookalike companies, enrich domain lists, match company names to domains, and find contacts, from typed Python.

For the terminal, see discolike-cli (pip install discolike-cli or uvx --from discolike-cli discolike).

Installation

pip install discolike

Requires Python 3.10+.

Authentication

export DISCOLIKE_API_KEY="dl_..."

Create a key at app.discolike.com/account/management/keys. You can also pass api_key=... explicitly to Discolike(), or run discolike auth login from the CLI to log in through the browser — the SDK then picks up the saved OAuth session and refreshes it automatically.

Quickstart

from discolike import Discolike
from discolike.requests import DiscoverParams

client = Discolike()

companies = client.discover(
    DiscoverParams(
        icp_text="Cybersecurity for SMBs, managed IT services, endpoint protection",
        country=["US"],
        max_records=25,
    )
)
for company in companies:
    print(company.domain, company.name, company.similarity)

The client is a context manager if you want deterministic cleanup:

with Discolike() as client:
    ...

Async

Every resource has an async twin on AsyncDiscolike:

import asyncio
from discolike import AsyncDiscolike
from discolike.requests import DiscoverParams

async def main() -> None:
    async with AsyncDiscolike() as client:
        companies = await client.discover(DiscoverParams(icp_text="B2B SaaS for logistics", max_records=10))
        print([c.domain for c in companies])

asyncio.run(main())

Long-running jobs

Bulk operations (match.bulk, segment, validate_icp, contacts.bulk_match) return a Job handle instead of blocking:

from discolike.requests import SegmentParams

job = client.segment(SegmentParams(domains="stripe.com,adyen.com,checkout.com"))
result = job.wait()

Job.status() polls without blocking, Job.cancel() aborts, and wait() raises JobFailedError / JobTimeoutError on failure. On DiscoGen-family jobs the returned JobStatus also carries warnings, estimated_cost and cost_metadata (per-model usage plus a search_provider entry when a BYOS search provider ran; search_calls only counts the model's built-in search).

JobTimeoutError is a client-side wait limit only — the task keeps running server-side (large DiscoGen runs can take hours), so call wait() again to resume or fetch status() later. Cancelled tasks still return results for every item that finished before cancellation. Send one job per list (up to 10,000 domains) rather than splitting into parallel jobs — concurrent DiscoGen jobs share your LLM provider key and slow each other down.

Links

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

discolike-0.3.2.tar.gz (56.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

discolike-0.3.2-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

Details for the file discolike-0.3.2.tar.gz.

File metadata

  • Download URL: discolike-0.3.2.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for discolike-0.3.2.tar.gz
Algorithm Hash digest
SHA256 97d5a4316a758f78b41cef077e84aba64c7d9b4864897d829e76d4a83532ca1b
MD5 965f3f1680c022e153384b28291a1889
BLAKE2b-256 f60406cb29d37b883646e783ab9c266ed6a25785a3c6994031357bf27a429df5

See more details on using hashes here.

Provenance

The following attestation bundles were made for discolike-0.3.2.tar.gz:

Publisher: publish.yml on discolike/discolike-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file discolike-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: discolike-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 41.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for discolike-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d00197e1782a254a4811db385b98cf91123be2aa362668cdda0ab347bf7fd94f
MD5 7fefd7ef35a5c44a2602fbd4c69035c7
BLAKE2b-256 913f28ca442a2cfe5c8707ec1e3df2bd30ebd806509c4b37c6a6f0b1f6ab5576

See more details on using hashes here.

Provenance

The following attestation bundles were made for discolike-0.3.2-py3-none-any.whl:

Publisher: publish.yml on discolike/discolike-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.2 This release

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page