{
  "info": {
    "name": "Scrupp API v1",
    "description": "Scrupp public API. Set the `apiKey` collection variable once; every request sends it as `Authorization: Bearer`. Async endpoints return a job/process id — poll status, then fetch the result. Docs: https://scrupp.com/docs",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.scrupp.com/api/v1"
    },
    {
      "key": "apiKey",
      "value": "YOUR_API_KEY"
    },
    {
      "key": "jobId",
      "value": ""
    }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "item": [
    {
      "name": "Jobs API",
      "description": "Unified async contract: create by type, poll, fetch result.",
      "item": [
        {
          "name": "Create job",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}",
                "description": "Makes a retried create return the original job instead of charging twice."
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/jobs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "jobs"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"sales_navigator.search\",\n  \"input\": {\n    \"url\": \"https://www.linkedin.com/sales/search/people?query=...\",\n    \"with_emails\": true,\n    \"max\": 100\n  },\n  \"callback_url\": \"https://example.com/hooks/scrupp\",\n  \"metadata\": { \"external_id\": \"row_9481\" }\n}"
            },
            "description": "Types: sales_navigator.search, linkedin.search, apollo.search, linkedin.profile, company.linkedin, company.domain, company.name, contact.decision_maker.linkedin, contact.decision_maker.name, contact.decision_maker.domain, email.initials, email.linkedin."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "const body = pm.response.json();",
                  "if (body.job_id) { pm.collectionVariables.set('jobId', body.job_id); }"
                ]
              }
            }
          ]
        },
        {
          "name": "Get job status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/jobs/{{jobId}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "jobs",
                "{{jobId}}"
              ]
            },
            "description": "Wait `retry_after` seconds between polls. Statuses: queued, running, succeeded, failed."
          }
        },
        {
          "name": "Get job result",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/jobs/{{jobId}}/result",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "jobs",
                "{{jobId}}",
                "result"
              ]
            },
            "description": "409 with error code NOT_READY means the job is still running — keep polling."
          }
        }
      ]
    },
    {
      "name": "Search",
      "item": [
        {
          "name": "Sales Navigator search",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sn/search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sn",
                "search"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://www.linkedin.com/sales/search/people?query=...\",\n  \"with_emails\": true,\n  \"max\": 100\n}"
            }
          }
        },
        {
          "name": "LinkedIn search",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/linkedin/search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "linkedin",
                "search"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://www.linkedin.com/search/results/people/?keywords=...\",\n  \"with_emails\": true,\n  \"max\": 100\n}"
            }
          }
        },
        {
          "name": "Apollo search",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/apollo/search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "apollo",
                "search"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://app.apollo.io/#/people?...\",\n  \"with_emails\": true,\n  \"max\": 100,\n  \"account\": \"your-apollo-account@example.com\"\n}"
            },
            "description": "Apollo requires a connected account."
          }
        },
        {
          "name": "LinkedIn profiles",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/linkedin/profile",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "linkedin",
                "profile"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\n    \"https://www.linkedin.com/in/williamhgates/\"\n  ]\n}"
            }
          }
        }
      ]
    },
    {
      "name": "Company",
      "item": [
        {
          "name": "Company by domain",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/company/domain",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "company",
                "domain"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\"openai.com\"]\n}"
            }
          }
        },
        {
          "name": "Company by LinkedIn URL",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/company/linkedin",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "company",
                "linkedin"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\"https://www.linkedin.com/company/openai/\"]\n}"
            }
          }
        },
        {
          "name": "Company by name",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/company/name",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "company",
                "name"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\"OpenAI\"]\n}"
            }
          }
        }
      ]
    },
    {
      "name": "Contact",
      "item": [
        {
          "name": "Decision makers by LinkedIn URL",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contact/decision-maker/linkedin",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contact",
                "decision-maker",
                "linkedin"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\"https://www.linkedin.com/company/openai/\"],\n  \"max\": 10\n}"
            }
          }
        },
        {
          "name": "Decision makers by domain",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contact/decision-maker/domain",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contact",
                "decision-maker",
                "domain"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\"openai.com\"],\n  \"max\": 10\n}"
            }
          }
        },
        {
          "name": "Decision makers by company name",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contact/decision-maker/name",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contact",
                "decision-maker",
                "name"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\"OpenAI\"],\n  \"max\": 10\n}"
            }
          }
        }
      ]
    },
    {
      "name": "Email",
      "item": [
        {
          "name": "Find one email (name + domain)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/email/find",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "email",
                "find"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"first_name\": \"John\",\n  \"last_name\": \"Doe\",\n  \"domain\": \"openai.com\"\n}"
            }
          }
        },
        {
          "name": "Find emails in bulk (initials)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/email/initials",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "email",
                "initials"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\n    { \"first_name\": \"John\", \"last_name\": \"Doe\", \"domain\": \"openai.com\" }\n  ]\n}"
            },
            "description": "Each item must contain first_name, last_name and domain. Equivalent job type: email.initials."
          }
        },
        {
          "name": "Enrich LinkedIn profiles and find emails",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/email/linkedin",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "email",
                "linkedin"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\"https://www.linkedin.com/in/williamhgates/\"]\n}"
            }
          }
        },
        {
          "name": "Verify an email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/email/verify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "email",
                "verify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"john@openai.com\"\n}"
            }
          }
        }
      ]
    },
    {
      "name": "Tasks & account",
      "item": [
        {
          "name": "Ping",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/ping",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "ping"
              ]
            },
            "description": "Cheapest way to confirm your key works."
          }
        },
        {
          "name": "Credit balance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/account/credits",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "account",
                "credits"
              ]
            }
          }
        },
        {
          "name": "Task status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/task/{{jobId}}/status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "task",
                "{{jobId}}",
                "status"
              ]
            }
          }
        },
        {
          "name": "Task data",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/task/{{jobId}}/data",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "task",
                "{{jobId}}",
                "data"
              ]
            }
          }
        },
        {
          "name": "Bulk task status",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/tasks/status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tasks",
                "status"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"task_ids\": [918273, 918274]\n}"
            },
            "description": "Up to 50 ids per call."
          }
        }
      ]
    }
  ]
}
