Source: https://eventregistry.org/documentation?tab=suggConcepts

# Suggest concepts

Retrieve the concept URI for a given concept label/prefix.

Use this API endpoint to map the concept label into the concept URI that can be used when specifying the `conceptUri` filter in various API calls. The label does not have to be a full name - the partial name will also return a list of concept URIs that match the provided text. The returned value will contain an array of concepts that match the input label. The concepts are sorted based on how frequently they occur in Event Registry data. Most often, the first candidate is the value you want to use.

**Endpoint:** GET | POST `https://eventregistry.org/api/v1/suggestConceptsFast`

**Headers:** Content-Type: application/json

#### `Parameters`

#### `apiKey`

string (required)

Your API key

#### `prefix`

string

Partial or full name of the concept.

#### `lang`

string | string[] (required)

What the `prefix` is matched against. An ISO3 language code matches the concept labels in that language. `ticker`, `isin` and `cik` match a company's stock ticker symbol, its ISIN or its SEC Central Index Key (without the leading zeros), and `domain` matches an organization's domain name (e.g. `apple.com`). You can specify several values.

Available values: `eng`, `spa`, `deu`, `zho`, `slv`, `cat`, `por`, `ita`, `fra`, `rus`, `ara`, `hrv`, `srp`, `ticker`, `isin`, `cik`, `domain`

Example value: `eng`

## Request examples

### Example 1

Find the list of concepts, whose label matches the term "Obama". The matching is case-insensitive and the concept does not need to start with the term ("Obama" can be a term anywhere in the label of the concept).

Request body:

```json
{
  "prefix": "Obama",
  "source": [
    "concepts"
  ],
  "lang": "eng",
  "conceptLang": [
    "eng",
    "deu"
  ],
  "apiKey": "YOUR_API_KEY"
}
```

```python
from eventregistry import *
er = EventRegistry(apiKey = YOUR_API_KEY)

conceptUrisMatchingObama = er.suggestConcepts("Obama", lang = "eng", conceptLang = ["eng", "deu"])
```

```javascript
var er = new erBase.EventRegistry();
                    er.suggestConcepts("Obama", {lang: "eng", conceptLang: ["eng", "deu"]}).then((response) => {
                        console.info(response);
                    });
```

```typescript
const er = new EventRegistry();
                    er.suggestConcepts("Obama", {lang: "eng", conceptLang: ["eng", "deu"]}).then((response) => {
                        console.info(response);
                    });
```

### Example 2

Find the concept for the company that has the given ticker "OLED". The matching is case-insensitive, but the full ticker name has to be provided (not just the prefix).

Request body:

```json
{
  "name": "OLED",
  "lang": "ticker",
  "apiKey": "YOUR_API_KEY"
}
```

```python
from eventregistry import *
er = EventRegistry(apiKey = YOUR_API_KEY)

conceptUrisMatchingObama = er.suggestConcepts("OLED", lang = "ticker")
```

```javascript
var er = new erBase.EventRegistry();
                    er.suggestConcepts("OLED", {lang: "ticker"}).then((response) => {
                        console.info(response);
                    });
```

```typescript
const er = new EventRegistry();
                    er.suggestConcepts("OLED", {lang: "ticker"}).then((response) => {
                        console.info(response);
                    });
```

### Example 3

Find the concept for the company with the given ISIN number "US0378331005". The matching is case-insensitive.

Request body:

```json
{
  "name": "US0378331005",
  "lang": "isin",
  "apiKey": "YOUR_API_KEY"
}
```

```python
from eventregistry import *
er = EventRegistry(apiKey = YOUR_API_KEY)

conceptUrisMatchingObama = er.suggestConcepts("US0378331005", lang = "isin")
```

```javascript
var er = new erBase.EventRegistry();
                    er.suggestConcepts("US0378331005", {lang: "isin"}).then((response) => {
                        console.info(response);
                    });
```

```typescript
const er = new EventRegistry();
                    er.suggestConcepts("US0378331005", {lang: "isin"}).then((response) => {
                        console.info(response);
                    });
```

## Example output

```json
[
  {
    "uri": "http://en.wikipedia.org/wiki/United_States",
    "type": "loc",
    "score": 81564322,
    "label": {
      "eng": "United States (U.S.A.)"
    },
    "location": {
      "type": "country",
      "label": {
        "eng": "United States"
      }
    }
  },
  {
    "uri": "http://en.wikipedia.org/wiki/United_States_dollar",
    "type": "wiki",
    "score": 34077886,
    "label": {
      "eng": "United States dollar (American dollar)"
    }
  },
  {
    "#META ITEM": "other suggestions..."
  }
]
```

## Output schema

```json
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "uri": {
        "type": "string"
      },
      "type": {
        "type": "string"
      },
      "score": {
        "type": "integer"
      },
      "label": {
        "type": "object",
        "properties": {
          "eng": {
            "type": "string"
          }
        }
      }
    }
  }
}
```
