# Company Profile (Search)

`GET` `/v1/companydata/search`

Fuzzy search across Vantafin’s ticker universe by company name, ticker prefix or CIK. Results are ranked for relevance and capped by limit (default 20, max 100). Each match returns the same company profile fields as Company Profile (Ticker) - sector, industry, exchange, CIK, ISIN, CUSIP, website, description, CEO, employees, address and IPO date - so you can resolve a name like “Apple” to AAPL and use the profile immediately without a second request.

## Use cases

- Ticker lookup and autocomplete in chat or search UIs
- Resolving user-entered company names to tickers
- Quick issuer discovery during research workflows
- CIK-based lookup when only regulatory id is known

## Input parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | Yes | Search text. |
| `limit` | integer | No | Max results, 1-100 (default 20). |

## Output parameters

| Name | Type | Description |
| --- | --- | --- |
| `results` | array | Matching company profiles ranked by relevance. |
| `results[].ticker` | string | Ticker. |
| `results[].company` | string | Company or fund name. |
| `results[].sector` | string | GICS sector when available. |
| `results[].industry` | string | Industry classification. |
| `results[].exchange` | string | Primary listing exchange. |
| `results[].exchangeShort` | string | Short exchange code. |
| `results[].country` | string | Country of incorporation or domicile. |
| `results[].etf` | boolean | True when the ticker is an ETF. |
| `results[].fund` | boolean | True when the ticker is a mutual fund. |
| `results[].cik` | string | SEC Central Index Key. |
| `results[].isin` | string | International Securities Identification Number. |
| `results[].cusip` | string | CUSIP identifier. |
| `results[].website` | string | Issuer website URL. |
| `results[].description` | string | Business description or fund summary. |
| `results[].ceo` | string | Chief executive officer when available. |
| `results[].employees` | string | Employee count when available. |
| `results[].phone` | string | Company phone number. |
| `results[].address` | string | Street address. |
| `results[].city` | string | City. |
| `results[].state` | string | State or region. |
| `results[].zip` | string | Postal code. |
| `results[].ipo` | string | IPO date (YYYY-MM-DD) when known. |
| `count` | integer | Number of matches returned. |

## Example response

```json
{
  "results": [
    {
      "ticker": "AAPL",
      "company": "Apple Inc.",
      "sector": "Technology",
      "industry": "Consumer Electronics",
      "exchange": "NASDAQ Global Select",
      "exchangeShort": "NASDAQ",
      "country": "US",
      "etf": false,
      "fund": false,
      "cik": "0000320193",
      "isin": "US0378331005",
      "cusip": "037833100",
      "website": "https://www.apple.com",
      "description": "Apple Inc. designs, manufactures, and markets smartphones, personal computers, tablets, wearables, and accessories worldwide.",
      "ceo": "Timothy D. Cook",
      "employees": "164000",
      "phone": "(408) 996-1010",
      "address": "One Apple Park Way",
      "city": "Cupertino",
      "state": "CA",
      "zip": "95014",
      "ipo": "1980-12-12"
    }
  ],
  "count": 1
}
```

## Examples

### cURL

```bash
curl "https://api.vantafin.com/v1/companydata/search?query=apple&limit=10&apiKey=$VANTAFIN_API_KEY"
```

### Python

```python
from vantafin import RESTClient

client = RESTClient("vf-live-your_api_key")

result = client.search("apple", limit=10)

print(result)
```

### JavaScript

```javascript
import { RestClient } from "vantafin";

const client = new RestClient("vf-live-your_api_key");

const result = await client.search("apple", { limit: 10 });

console.log(result);
```

### Go

```go
package main

import (
	"fmt"
	"log"

	"github.com/vantafin/vantafin-go"
)

func main() {
	client := vantafin.NewClient("vf-live-your_api_key")

	result, err := client.Search("apple", vantafin.Params{"limit": 10})
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println(result)
}
```

### Java

```java
import com.vantafin.RestClient;
import com.vantafin.Params;

public class Example {
    public static void main(String[] args) throws Exception {
        RestClient client = new RestClient("vf-live-your_api_key");

        Object result = client.search("apple", Params.of().set("limit", 10));

        System.out.println(result);
    }
}
```

### Ruby

```ruby
require "vantafin"

client = Vantafin::RestClient.new("vf-live-your_api_key")

result = client.search("apple", limit: 10)

pp result
```
