> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bouncewatch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Make your first API call in 2 minutes

## Prerequisites

<Check>You need an API key. If you don't have one, [create it here](https://bouncewatch.com/api-panel/api-keys).</Check>

<Tip>
  **Prefer Postman?** Download our [Postman Collection](https://bouncewatch.com/postman/BounceWatch_Postman_Collection.zip) to get started quickly with pre-configured requests.
</Tip>

## Your First API Call

<Steps>
  <Step title="Basic Request">
    Use the domain name to fetch **base data** for any company:

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X GET "https://api.bouncewatch.com/api/v1/company/stripe.com" \
        -H "X-API-Key: YOUR_API_KEY"
      ```

      ```javascript JavaScript theme={null}
      const response = await fetch('https://api.bouncewatch.com/api/v1/company/stripe.com', {
        headers: { 'X-API-Key': 'YOUR_API_KEY' }
      });
      const data = await response.json();
      ```

      ```python Python theme={null}
      import requests

      response = requests.get(
          'https://api.bouncewatch.com/api/v1/company/stripe.com',
          headers={'X-API-Key': 'YOUR_API_KEY'}
      )
      data = response.json()
      ```

      ```php PHP theme={null}
      $ch = curl_init('https://api.bouncewatch.com/api/v1/company/stripe.com');
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_HTTPHEADER, [
          'X-API-Key: YOUR_API_KEY'
      ]);
      $response = curl_exec($ch);
      $data = json_decode($response, true);
      ```
    </CodeGroup>
  </Step>

  <Step title="Review the Response">
    **First request for a domain** — returns `202 Accepted` with a batch ID:

    ```json theme={null}
    {
      "success": true,
      "status": "processing",
      "batch_id": "batch_abc123xyz",
      "enrichment_status": "processing",
      "modules_requested": [],
      "webhook_notification": "enabled",
      "status_endpoint": "https://api.bouncewatch.com/api/v1/enrichment/batch_abc123xyz/status",
      "results_endpoint": "https://api.bouncewatch.com/api/v1/enrichment/batch_abc123xyz/results",
      "credits_reserved": 10,
      "message": "Enrichment jobs queued successfully. Fresh data will be sent to your webhook when ready."
    }
    ```

    **Same domain within 24 hours** — returns `200 OK` with instant data (free):

    ```json theme={null}
    {
      "success": true,
      "data": {
        "company": {
          "name": "Stripe",
          "domain": "stripe.com",
          "description": "Financial infrastructure for the internet",
          "founded_year": 2010,
          "employee_count": 8000,
          "headquarter_city": "San Francisco",
          "headquarter_country": "United States",
          "linkedin_url": "https://linkedin.com/company/stripe",
          "twitter_url": "https://twitter.com/stripe"
        }
      },
      "credits_used": 0,
      "dedup_note": "This domain was enriched within the last 24 hours. Cached data is returned at no charge."
    }
    ```
  </Step>

  <Step title="Add Enrichments">
    Use the `enrich` parameter to get deeper data. Here's a **full enrichment** request with all 6 modules:

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X GET "https://api.bouncewatch.com/api/v1/company/stripe.com?enrich=business,technology,funding,team,signals,competitors" \
        -H "X-API-Key: YOUR_API_KEY" \
        -H "X-Webhook-URL: https://webhook.site/YOUR-ID"
      ```

      ```javascript JavaScript theme={null}
      const response = await fetch(
        'https://api.bouncewatch.com/api/v1/company/stripe.com?enrich=business,technology,funding,team,signals,competitors', 
        { 
          headers: { 
            'X-API-Key': 'YOUR_API_KEY',
            'X-Webhook-URL': 'https://webhook.site/YOUR-ID'
          } 
        }
      );
      const data = await response.json();
      ```

      ```python Python theme={null}
      response = requests.get(
          'https://api.bouncewatch.com/api/v1/company/stripe.com',
          headers={
              'X-API-Key': 'YOUR_API_KEY',
              'X-Webhook-URL': 'https://webhook.site/YOUR-ID'
          },
          params={'enrich': 'business,technology,funding,team,signals,competitors'}
      )
      data = response.json()
      ```

      ```php PHP theme={null}
      $ch = curl_init('https://api.bouncewatch.com/api/v1/company/stripe.com?enrich=business,technology,funding,team,signals,competitors');
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_HTTPHEADER, [
          'X-API-Key: YOUR_API_KEY',
          'X-Webhook-URL: https://webhook.site/YOUR-ID'
      ]);
      $response = curl_exec($ch);
      $data = json_decode($response, true);
      ```
    </CodeGroup>

    <Note>
      **Full enrichment uses 60 credits:** Base (10) + Business (6) + Technology (4) + Funding (10) + Team (6) + Signals (16) + Competitors (8)
    </Note>

    <Tip>
      You don't have to use all modules — pick only the ones you need. For example `?enrich=funding,team` costs just 26 credits.
    </Tip>
  </Step>
</Steps>

## Enrichment Modules

Choose which modules to add:

| Module        | Credits | What's Included?                        |
| ------------- | ------- | --------------------------------------- |
| `business`    | +6      | Industry, business model, target market |
| `technology`  | +4      | Tech stack, 100+ technologies           |
| `funding`     | +10     | Funding rounds, investors               |
| `team`        | +6      | Team members, hiring status             |
| `signals`     | +16     | 40 signal types, highlights             |
| `competitors` | +8      | Competitors, similar companies          |

<Tip>
  Use comma-separated values for multiple modules: `?enrich=business,technology,funding`
</Tip>

## Check Your Credit Balance

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.bouncewatch.com/api/v1/account/credits" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.bouncewatch.com/api/v1/account/credits', {
    headers: { 'X-API-Key': 'YOUR_API_KEY' }
  });
  ```

  ```python Python theme={null}
  response = requests.get(
      'https://api.bouncewatch.com/api/v1/account/credits',
      headers={'X-API-Key': 'YOUR_API_KEY'}
  )
  ```

  ```php PHP theme={null}
  $ch = curl_init('https://api.bouncewatch.com/api/v1/account/credits');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-Key: YOUR_API_KEY']);
  $response = curl_exec($ch);
  $data = json_decode($response, true);
  ```
</CodeGroup>

```json Response theme={null}
{
  "success": true,
  "data": {
    "credits": {
      "balance": 4580,
      "used": 420,
      "total_purchased": 5000,
      "percentage_used": 8.4
    }
  }
}
```

## Next Steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/authentication">
    API key security and best practices
  </Card>

  <Card title="Credits & Modules" icon="coins" href="/credits-and-modules">
    Credit system and module details
  </Card>

  <Card title="Company API" icon="building" href="/api-reference/company-api">
    Full endpoint documentation and examples
  </Card>

  <Card title="Webhooks" icon="bell" href="/webhooks">
    Set up webhook to receive enrichment results
  </Card>
</CardGroup>
