Sc Scrupp

Company API

Enrich companies from a list of identifiers (LinkedIn URL / domain / name). Each request runs asynchronously and returns a process_id.

Async api_key (legacy) Company
Data
v1 Stable
api_key in query is supported for legacy integrations. For new integrations, prefer Authorization: Bearer <token> when available on your account.
How it works
Async
  • Send POST → receive process_id
  • Fetch results via GET /task/{process_id}/data (polling)
  • Or use Webhook to get notified when the task completes
Webhook flow

Include webhook_url in the POST body. We’ll call it once the task finishes.

Example
{
  "items": ["ibm.com","microsoft.com"],
  "max": 100,
  "webhook_url": "https://yourapp.com/webhooks/scrupp"
}
Webhook payload (example)
{
  "process_id": 6666,
  "status": "completed",
  "result_url": "/task/6666/data"
}

Tip: respond with 200 OK fast and process the result asynchronously.

Auth
Legacy: api_key in query.
Prefer Bearer auth when enabled on your account.
Task data
Fetch results via GET /task/{process_id}/data.
Webhook
Pass webhook_url in POST body to receive completion callbacks.
POST

Get Company by LinkedIn

/company/linkedin

Highest accuracy when LinkedIn company URL is available.

Request
Part Field Type Notes
Query api_key string Required (legacy)
Body items string[] LinkedIn URLs
{
  "items": [
    "https://www.linkedin.com/company/ibm",
    "https://www.linkedin.com/company/microsoft"
  ]
}
Response
{
  "process_id": 6666
}
Fetch result
GET /task/6666/data
POST

Get Company by Domain

/company/domain

Use website domains when LinkedIn is not available.

Request
{
  "items": ["ibm.com", "microsoft.com"]
}
Response
{
  "process_id": 6666
}
POST

Get Company by Name

/company/name

Use only if domain or LinkedIn is unavailable.

Request
{
  "items": ["ibm", "microsoft"]
}
Response
{
  "process_id": 6666
}

Use cases

Practical automation recipes for Company API. Use polling or webhooks depending on your workflow.

Automation
Make (Integromat)
Trigger a scenario → call Scrupp → wait for completion → store results in Airtable/Sheets/CRM.
Recommended flow
  1. 1) HTTP — Make a request (POST)
  2. 2) Save process_id
  3. 3) Sleep 3–10s
  4. 4) HTTP — Make a request (GET task data)
  5. 5) Router: if not ready → repeat (max attempts)
Use the built-in HTTP module. If you prefer webhooks, set webhook_url and let Scrupp notify you.
Zapier
Enrich on a trigger (new lead / form submission) and push results to HubSpot, Sheets or your outbound stack.
Recommended flow
  1. 1) Webhooks by Zapier (POST)
  2. 2) Store process_id
  3. 3) Delay 3–10s
  4. 4) Webhooks by Zapier (GET task data)
  5. 5) Filter: status ready → continue
Clay
Enrich company/contact rows in Clay, then route to sequences or export clean CSV for outreach.
Recommended flow
  1. 1) Add an HTTP / API enrichment step
  2. 2) POST to Scrupp → capture process_id
  3. 3) Poll task data (GET) or use webhook
  4. 4) Map returned fields into Clay columns
Shortcuts
Field mapping tip: store raw response JSON in your automation first, then map only the columns you need (company name, domain, location, decision maker title, email/phone availability, etc.).