Bigdata.com Knowledge Graph tracks more than 7 million companies worldwide.

The following methods help you identify the IDs of the companies you are interested in:

Once you have the IDs, you can use them to filter your search queries with an Entity query filter.

Knowledge Graphs IDs are stable and we recommend to persist them in your proprietary DB for quicker access.

Bigdata provides specialized methods to retrieve company information using unique market identifiers such as ISIN, CUSIP, SEDOL, or listings. These methods allow users to directly query the database for relevant companies based on their identifiers.

Each of these methods accepts a list of strings as input and returns a list of corresponding company objects or None for identifiers that cannot be matched. The methods include:

  • get_companies_by_isin(isins: list[str])
  • get_companies_by_cusip(cusips: list[str])
  • get_companies_by_sedol(sedols: list[str])
  • get_companies_by_listing(listings: list[str])

Examples

from dotenv import load_dotenv
from bigdata_client import Bigdata
import os

load_dotenv()

# Initialize the Bigdata API
username = os.environ.get("BIGDATA_USERNAME")
password = os.environ.get("BIGDATA_PASSWORD")
bigdata = Bigdata(username, password)

# Fetch companies by ISINs
isins = ["US0378331005", "US0231351067", "LU1861138375"]
companies_by_isin = bigdata.knowledge_graph.get_companies_by_isin(isins)
for isin, company in zip(isins, companies_by_isin):
    if company:
        print(f"{company.name}: {company.id}")
    else:
        print(f"Company not found for ISIN {isin}")

Output:

Apple Inc.: D8442A
Amazon.com Inc.: 0157B1
Company not found for ISIN LU1861138375

These methods raise a TypeError if the input is not a list of strings, ensuring users provide valid data.

Find companies by details

The method find_companies returns a list of companies that matched the value parameter.

The value can match with the company’s name, webpage, ticker, or any market identifers.

from dotenv import load_dotenv
from bigdata_client import Bigdata
import os

load_dotenv()

# Initialize the Bigdata API
username = os.environ.get("BIGDATA_USERNAME")
password = os.environ.get("BIGDATA_PASSWORD")
bigdata = Bigdata(username, password)

results = bigdata.knowledge_graph.find_companies("Pfizer")

for company in results:
    print(f"Entity ID: {company.id}")
    print(f"Company Name: {company.name}")
    print(f"Country: {company.country}")  
    print(f"Description: {company.description}")
    print(f"Website: {company.webpage}")
    print(f"Ticker: {company.ticker}\n")

Output:

Entity ID: 267718
Company Name: Pfizer Inc.
Country: United States
Description: Pfizer Inc. is an American multinational pharmaceutical corporation headquartered in New York City, and with its research headquarters in Groton, Connecticut, United States. The company was founded in 1849.
Website: http://www.pfizer.com
Ticker: PFE

Entity ID: 0CC745
Company Name: Pfizer India Ltd.
Country: India
Description: Pfizer India Ltd. was formed in November 21, 1950, after Pfizer's acquisition of Dumex. It is a 40% owned subsidiary of Pfizer Inc.
Website: http://www.pfizerltd.co.in
Ticker: 500680

...

We recommend to use Get companies by market identifiers because it accepts a list and retrieve the precise company IDs.

The find_companies method is helpful to retrieve companies given user’s input, but not to find IDs for a large list of companies, because each call requires a backend request, and it takes longer.

If you still want to use find_companies programmaticaly for a large list of companies, the how-to guide Threading - Find Entities describes a multi-threaded solution.