# Company Funding

> Retrieve verified funding-round and acquisition history for a company.

- **Endpoint:** `POST https://api.nyne.ai/company/funding`
- **Group:** Company APIs (https://api.nyne.ai/documentation/company.md)
- **Auth:** `X-API-Key` + `X-API-Secret` headers
- **Mode:** Asynchronous - submit returns a `request_id` (normally with `202 Accepted`); poll `GET /company/funding?request_id=<request_id>` with the same auth headers until the endpoint reports a terminal response. Where supported, a `callback_url` can notify you when queued work finishes; follow this endpoint's retrieval notes.
- **HTML version:** https://api.nyne.ai/documentation/company/funding

Retrieve a company’s funding history - rounds with dates, investors, amounts, and valuations, plus acquisition detail when applicable - aggregated from verified sources. Supply at least one of `company_name` or `company_domain`. The request is queued asynchronously and returns a `request_id`; poll the status endpoint or supply a `callback_url`. The completed result includes a `funding_rounds` array (most recent first) and an optional `acquired` object. Rounds may carry an `amount_approximate` flag when the figure is an estimate, and each investor in `funded_by` may be marked `lead_investor`. A credit is charged only when funding data is found.

## Authentication

All `/person/*` and `/company/*` endpoints authenticate with an API key and secret sent as HTTP headers on every request: `X-API-Key` and `X-API-Secret`. Create keys from your Nyne.ai dashboard and keep the secret server-side. Rate limits: 100 requests/minute, 1,000 requests/hour. Full guide: https://api.nyne.ai/documentation/authentication.md

## Parameters

| Name | Type | Required | Description | Example |
| --- | --- | --- | --- | --- |
| `company_name` | string | no | Company name to look up, e.g. “Stripe”, “OpenAI”. Required unless `company_domain` is supplied. Max 255 chars. | "Stripe" |
| `company_domain` | string | no | Company domain to look up, e.g. “stripe.com”. Required unless `company_name` is supplied. Max 255 chars. | "stripe.com" |
| `callback_url` | string | no | http(s) URL on an allowed host that receives the completed payload automatically. | "https://example.com/webhooks/funding" |

## Polling for the result

A newly queued submit normally returns `202 Accepted` with a `request_id`. Poll the same path until `status` is `completed` (results stay available afterwards). Where supported, pass a `callback_url` on the submit to receive a webhook when queued work finishes; keep the documented GET as a recovery and retrieval path:

```bash
curl "https://api.nyne.ai/company/funding?request_id=<request_id>" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-API-Secret: YOUR_API_SECRET"
```

## Credit usage

| Item | Credits | Condition |
| --- | --- | --- |
| Funding Lookup | - | Charged once when funding data is retrieved |
| No data | 0 | No funding found never burns credits |

## Responses

| Code | Meaning |
| --- | --- |
| `202` | Funding lookup queued - poll the status endpoint with the returned request_id |
| `400` | missing_parameters / invalid_parameters / invalid_callback_url |
| `401` | Missing or invalid API credentials |
| `402` | insufficient_credits |
| `403` | subscription_required or ip_not_allowed |
| `404` | no funding data found (no credit charged) |
| `429` | rate_limit_exceeded / monthly_limit_exceeded |
| `503` | service_unavailable - the API is temporarily unavailable |

## Example request

### cURL

```bash
curl -X POST https://api.nyne.ai/company/funding \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-API-Secret: YOUR_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "company_name": "Stripe",
    "callback_url": "https://example.com/webhooks/funding"
  }'
```

### Python

```python
import requests

resp = requests.post(
    "https://api.nyne.ai/company/funding",
    headers={
        "X-API-Key": "YOUR_API_KEY",
        "X-API-Secret": "YOUR_API_SECRET",
    },
    json={
        "company_name": "Stripe",
        "callback_url": "https://example.com/webhooks/funding",
    },
)
data = resp.json()
print(data)
```

### Node

```javascript
const resp = await fetch("https://api.nyne.ai/company/funding", {
  method: "POST",
  headers: {
    "X-API-Key": "YOUR_API_KEY",
    "X-API-Secret": "YOUR_API_SECRET",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    company_name: "Stripe",
    callback_url: "https://example.com/webhooks/funding",
  }),
});
const data = await resp.json();
console.log(data);
```

### PHP

```php
<?php
$ch = curl_init("https://api.nyne.ai/company/funding");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    "X-API-Key: YOUR_API_KEY",
    "X-API-Secret: YOUR_API_SECRET",
    "Content-Type: application/json",
  ],
  CURLOPT_POSTFIELDS => json_encode([
    "company_name" => "Stripe",
    "callback_url" => "https://example.com/webhooks/funding",
  ]),
]);
$data = json_decode(curl_exec($ch), true);
print_r($data);
```

## Example response

```json
{
  "request_id": "64f2d8e4fd1f065a9b4e7fbc3df6aabb_1700000123_5510",
  "status": "completed",
  "completed": true,
  "result": {
    "company_domain": "stripe.com",
    "funding_rounds": [
      {
        "series_type": "Series I",
        "funding_date": {
          "year": 2024,
          "month": 3,
          "day": 15
        },
        "amount": 6940000000,
        "amount_approximate": true,
        "currency": "USD",
        "valuation": 65000000000,
        "funded_by": [
          {
            "name": "Thrive Capital",
            "lead_investor": true
          },
          {
            "name": "General Catalyst"
          }
        ]
      }
    ],
    "acquired": null
  },
  "completed_on": "2026-01-15T10:35:00Z"
}
```

---

All documentation pages are available as Markdown by appending `.md` to their URL. Index: https://api.nyne.ai/llms.txt
