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.1.tar.gz (55.9 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.1-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: discolike-0.3.1.tar.gz
  • Upload date:
  • Size: 55.9 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.1.tar.gz
Algorithm Hash digest
SHA256 96fde0de217a22e27911b38ed36e70947452002141683304b7656fc8d445d1af
MD5 1cc7e7f8fba7839a04c57ac2ca1a332d
BLAKE2b-256 c30e976302900ff7e0d7e1a92597ea473dd5ace7136ae417925bdb97e9786d7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for discolike-0.3.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: discolike-0.3.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be86407bbd4364d54810746723764d79411df9b108d5be5d7b2f3ade22b86455
MD5 3b46688315a1707a56e1c7b884dd63d0
BLAKE2b-256 204b90dbd00d6437723b8ad0d0943641225037cfe67f5149f88bda44321ac8de

See more details on using hashes here.

Provenance

The following attestation bundles were made for discolike-0.3.1-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

0.3.2

2 files

This release

0.3.1 This release

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