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

# Introduction

> Access real-time funding signals with advanced filtering, sorting, and pagination

## Welcome to the Funding Signals API

The Funding Signals API provides access to comprehensive, real-time funding signals aggregated from across the web. Our platform continuously monitors and collects funding activity, giving you up-to-date information on companies raising capital, funding rounds, investors, and market trends.

<Card title="Funding Signals Endpoint" icon="chart-line-up" href="/api-reference/funding-signals/endpoint/get">
  View the complete OpenAPI specification
</Card>

## Count Mode

You can get the total number of results matching any filter combination **without consuming credits** by adding `count=true` to your request. This returns an empty `data` array with full pagination metadata, including `totalCount`.

```bash theme={null}
curl -X GET "https://www.trysignalbase.com/api/v2/signals/funding?count=true&countries=US&round=Seed" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Response:**

```json theme={null}
{
  "success": true,
  "data": [],
  "pagination": {
    "currentPage": 1,
    "totalPages": 15,
    "totalCount": 287,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "meta": {
    "endpoint": "signals.funding",
    "creditsUsed": 0
  }
}
```

<Tip>Use count mode to preview how many results match your filters before fetching actual data. This is useful for building filter UIs, showing result counts, or validating queries — all at zero credit cost.</Tip>

## Key Features

* **Real-time Signals**: Funding signals are aggregated continuously from web sources
* **Advanced Filtering**: Filter by countries, categories, subcategories, funding rounds, date ranges, and search terms
* **Funding Round Types**: Filter by round type (e.g. `seed`, `series a`, `pre-seed`, `angel`) — case-insensitive. See [Round Types](/enums#funding-round-types)
* **Round Flavors**: Distinguish between bridge, extension, and secondary rounds
* **Numeric Range Filters**: Filter by amount, employee count, and founded year
* **Flexible Sorting**: Sort by date, amount, employee count, or founded year
* **Verification Status**: Filter signals by verified, unverified, or pending status
* **Pagination Support**: Efficiently retrieve large datasets with up to 100 results per page
* **Credit-based Usage**: Transparent credit consumption per API call

## Company fields in responses

Funding signal payloads include **`companyCountry`** for HQ and **`companySubcategory`** when classified. Conventions match the other signal APIs; see [Company fields in signal responses](/enums#company-fields-in-signal-responses).

## Service Level

* **Rate Limit**: Based on your subscription tier
* **Uptime**: 99% guaranteed uptime
* **Data Freshness**: Real-time aggregation ensures up-to-date signals
* **Maximum Results**: Up to 100 results per page

## Authentication

All API endpoints require authentication using a Bearer token passed in the Authorization header.

```bash theme={null}
curl -X GET "https://www.trysignalbase.com/api/v2/signals/funding?page=1&limit=20&round=Series%20A" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Matching by Company URL (Recommended)

If you know a company's website domain or LinkedIn page, query by URL instead of by name. Name search is fuzzy and can return lookalikes (`Novartis` also matches `Novartis UK`); URL identifiers match exactly one company.

```bash theme={null}
# By website domain
curl -X GET "https://www.trysignalbase.com/api/v2/signals/funding?company_domain=novartis.com" \
  -H "Authorization: Bearer YOUR_API_KEY"

# By LinkedIn company page
curl -X GET "https://www.trysignalbase.com/api/v2/signals/funding?company_linkedin_url=linkedin.com/company/novartis" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Accepted input formats.** URL identifiers are normalized before matching, so equivalent variants return the same results:

* `company_domain`: `novartis.com`, `www.novartis.com`, `https://www.novartis.com/`, `https://novartis.com/any/path` — scheme, `www.`, port, path and trailing slash are ignored. Values that can't be reduced to a domain return `400`.
* `company_linkedin_url`: `linkedin.com/company/novartis`, `https://www.linkedin.com/company/Novartis/` — `http`/`https`, `www.` and trailing slash are ignored, the slug is case-insensitive. URLs that aren't LinkedIn *company* pages (e.g. personal `/in/` profiles) return `400`.

**Strict matching.** When a URL identifier is provided, the API never falls back to fuzzy name matching: if no company matches, the result is empty. Identifiers combine with `AND` — `company_domain=novartis.com&company_name=Acme` returns empty because they disagree.

**Match confidence.** Every result row includes `match_confidence`:

| Value   | Meaning                                                |
| ------- | ------------------------------------------------------ |
| `exact` | Matched via `company_domain` or `company_linkedin_url` |
| `fuzzy` | Matched via `company_name` partial match only          |
| `none`  | No company identifier was part of the query            |

## Query Parameters

### Pagination

| Parameter | Type    | Default | Description                 |
| --------- | ------- | ------- | --------------------------- |
| `page`    | integer | 1       | Page number                 |
| `limit`   | integer | 20      | Results per page (max: 100) |

### Date Filters

| Parameter     | Type   | Description                                                                                                  |
| ------------- | ------ | ------------------------------------------------------------------------------------------------------------ |
| `dateFrom`    | string | Filter by date from (ISO-8601 string)                                                                        |
| `dateTo`      | string | Filter by date to (ISO-8601 string)                                                                          |
| `date_preset` | string | Relative date shorthand — takes precedence over `dateFrom`/`dateTo`. See [Date Presets](/enums#date-presets) |

### Company Filters

| Parameter              | Type   | Description                                                                                                                                       |
| ---------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `countries`            | string | Comma-separated country codes (e.g., `US,GB,DE`)                                                                                                  |
| `categories`           | string | Pipe-separated company categories / industries                                                                                                    |
| `subcategories`        | string | Comma-separated subcategory IDs (e.g., `ai,fintech,saas`)                                                                                         |
| `industry`             | string | Comma-separated exact industry names                                                                                                              |
| `company_domain`       | string | **Recommended.** Company website domain (e.g. `novartis.com`). Strict match — see [Matching by company URL](#matching-by-company-url-recommended) |
| `company_linkedin_url` | string | **Recommended.** LinkedIn company URL (e.g. `linkedin.com/company/novartis`). Strict match                                                        |
| `company_name`         | string | Search by company name (partial match, fuzzy). Prefer the URL identifiers above                                                                   |
| `search`               | string | Free-text search across company name & industry                                                                                                   |

### Numeric Range Filters

| Parameter            | Type    | Description                                                              |
| -------------------- | ------- | ------------------------------------------------------------------------ |
| `amount_min`         | integer | Minimum funding amount in whole units of the deal's currency (not cents) |
| `amount_max`         | integer | Maximum funding amount in whole units of the deal's currency (not cents) |
| `employee_count_min` | integer | Minimum company employee count                                           |
| `employee_count_max` | integer | Maximum company employee count                                           |
| `founded_year_min`   | integer | Minimum company founded year                                             |
| `founded_year_max`   | integer | Maximum company founded year                                             |

### Funding-specific Filters

| Parameter             | Type   | Description                                                                                                 |
| --------------------- | ------ | ----------------------------------------------------------------------------------------------------------- |
| `round`               | string | Comma-separated round types. See [Round Types](/enums#funding-round-types)                                  |
| `round_flavor`        | string | Comma-separated round flavors: `bridge`, `extension`, `secondary`                                           |
| `currency`            | string | Filter by ISO 4217 currency code (e.g., `USD`, `EUR`, `GBP`). See [Currency Values](/enums#currency-values) |
| `verification_status` | string | Comma-separated statuses: `verified`, `unverified`, `pending`                                               |
| `investor_name`       | string | Search by investor name (partial match)                                                                     |

### Sorting

| Parameter    | Type   | Default       | Description                                                                            |
| ------------ | ------ | ------------- | -------------------------------------------------------------------------------------- |
| `sort_by`    | string | `occurred_at` | Sort field: `occurred_at`, `discovered_at`, `amount`, `employee_count`, `founded_year` |
| `sort_order` | string | `desc`        | Sort direction: `asc` or `desc`                                                        |

## Funding Round Types

Round types are matched **case-insensitively** (`Series A`, `series a`, and `SERIES A` all work) and returned in lowercase. The most common values:

* `seed`, `pre-seed` — early-stage funding
* `series a` … `series f` — priced venture rounds (later letters also occur)
* `angel` — angel/individual investment
* `equity`, `fund`, `debt financing`, `debt` — other financing types
* `ipo` — initial public offering

See [Round Types](/enums#funding-round-types) for the full common list.

## Response Structure

All successful responses follow this structure:

```json theme={null}
{
  "success": true,
  "data": [
    {
      "signalId": "uuid-here",
      "companyName": "TechStartup Inc",
      "roundType": "series a",
      "fundingAmount": 10000000,
      "investorNames": ["VC Fund 1", "Angel Investor 2"],
      ...
    }
  ],
  "pagination": {
    "currentPage": 1,
    "totalPages": 10,
    "totalCount": 200,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "meta": {
    "endpoint": "signals.funding",
    "creditsUsed": 1
  }
}
```

## Error Handling

The API returns standard HTTP status codes:

* **200**: Success
* **401**: Unauthorized - Invalid or missing API key
* **429**: Rate limit exceeded
* **500**: Internal server error

Error responses include:

```json theme={null}
{
  "success": false,
  "error": "Error message description"
}
```

## Example Usage

### Filter by Date Preset and Round Type

```bash theme={null}
curl -X GET "https://www.trysignalbase.com/api/v2/signals/funding?date_preset=last_30d&countries=US&round=Seed,Series%20A" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Filter by Amount and Employee Count

```bash theme={null}
curl -X GET "https://www.trysignalbase.com/api/v2/signals/funding?amount_min=1000000&employee_count_max=50&sort_by=amount&sort_order=desc" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Filter by Subcategory and Verification Status

```bash theme={null}
curl -X GET "https://www.trysignalbase.com/api/v2/signals/funding?subcategories=ai,fintech&verification_status=verified" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Search with Multiple Filters

```bash theme={null}
curl -X GET "https://www.trysignalbase.com/api/v2/signals/funding?search=fintech&countries=US&round=Series%20A&sort_by=amount&sort_order=desc&limit=50" \
  -H "Authorization: Bearer YOUR_API_KEY"
```
