Skip to content
EximAgent Docs

Limits and timeouts

Row caps, worker concurrency, client timeouts, cache lifetimes, and the environment variables that move them.

Bulk and concurrency

LimitValueOn breach
Rows per --inputs call1000INVALID_ARG — split into sequential calls
Server-side workers25Higher --concurrency is silently clamped
Default concurrency10Reduces automatically under upstream rate pressure
Export page size10,000 rowsAuto-paged to the --out file

When concurrency is clamped, the started event reports concurrencyClamped: true — the run still completes.

Timeouts

SettingDefaultOverride
Per-call client timeout180sEXIMAGENT_TIMEOUT_MS
Heartbeat interval30s
EXIMAGENT_TIMEOUT_MS=900000 eximagent enrich contacts --collectionId <id>

Operations that routinely exceed the default: enrich contacts over 200+ rows, and any confirmed search run.

Caches

CacheLifetimeKey
Website crawl100 daysCanonical URL
Profile lookup100 daysResolved profile URL

Repeat requests inside the window are free. Re-crawl when a source page has changed materially — cached does not mean current.

Environment variables

VariableEffect
EXIMAGENT_PROFILEDefault saved account for the session
EXIMAGENT_TIMEOUT_MSPer-call client timeout in milliseconds
HTTPS_PROXYProxy for outbound HTTPS

Known limitations

  • Profile resolution is most reliable from canonical URLs; resolving from a bare company name is weaker.
  • enrich contacts is collection-scoped — narrow with row-subset flags rather than expecting an arbitrary input set.
  • Enrichment returns image URLs, not stored bytes, so source-page rot is possible. Re-enrich when images stop resolving.
  • --strict applies to single-input calls only; bulk runs always auto-pick.