API Overview

CEOInterviews.ai is the world’s largest database of verified conversation transcripts from every C‑suite executive across the S&P 500, Nasdaq, and politicians. Explore millions of quotes, statements, and video transcripts with human‑ and AI‑verified metadata.

Each record includes full text, speaker, topics, publish_date, and market/policy context. This means analysts and investors can surface what leaders said and why it matters.

Low quality source with red X
CEOInterviews AI Verified with green checkmark

Let's learn about inflation from the decision makers — verified in seconds

Pull first‑person, AI and human verified remarks on a topic from specific leaders.

from ceointerviews import CEOInterviews
client = CEOInterviews("YOUR_API_KEY")

leaders = ["Jerome Powell", "Jamie Dimon"]
for name in leaders:
	# Directly fetch conversations about inflation for each leader
	items = client.get_feed(entity_name=name, keyword="inflation", page_size=3).results
	for it in items:
		# Entity identity is included in each conversation
		print(f"{it['entity_name']} — {it.get('entity_title', '')} ({it.get('institution', '')})")

		# Transcript metadata and excerpt
		print(it.get("item_title", ""), it.get("publish_date", ""))
		print(it.get("transcript", "")[:400])
		print()

Example output:

Jerome Powell — Chair (Federal Reserve)
FOMC Press Conference 2025-09-18T18:30:00+00:00
[excerpt] Inflation has eased but remains elevated; we’ll keep policy restrictive until we’re confident it’s moving sustainably to 2 percent.

Jamie Dimon — CEO (JPMorgan Chase)
CNBC interview: Inflation, Rates, Growth 2025-07-10T13:05:00+00:00
[excerpt] We’re preparing for rates to be higher for longer; consumers are still spending, but excess savings are running down and risks are building.

Every transcript contains transparent why‑it‑passed metadata for compliance‑grade analysis and model training.

Install & Authenticate

API requests require an API key. Subscribe to the API plan.

pip install ceointerviews
from ceointerviews import CEOInterviews
api_key = "YOUR_API_KEY"
client = CEOInterviews(api_key)

Get API access now


Quick Start: High‑quality transcripts for an entity

Fetch an entity's conversations and read the transcript plus AI reasons/scores that justify quality.

# 1) Fetch high‑quality conversations directly using entity_name
feed = client.get_feed(entity_name="elon musk", page_size=10).results

# 2) Inspect transcript and AI review metadata
item = feed[0]
print(f"Transcript Title: {item['item_title']}")
print(f"Length of transcript: {len(item['transcript'])} words")

# Reasons/scores (we have many other models/reasons scores, but these are some important ones)
review = item.get("review", item.get("extra", {}))
print(f"Transcript detection reason: {review.get('transcript_first_person')}")
print(f"Transcript detection score: {review.get('transcript_first_person_score')}")

Example output:

Transcript Title: Elon Musk on Q4 Autonomy Progress — 2025 Earnings Call
Length of transcript: 23489 words
Transcript detection reason: First-person speech confirmed via pronoun usage and diarization; original audio, no dubbing
Transcript detection score: 0.97

Core Concepts

The CEOInterviews API is built around several key resources:

Entities

An Entity represents an influential individual such as a CEO, politician, or executive. Each entity has an ID, name, title, and associated organization information.

Feed Items (transcripts of public appearances and metadata)

Transcribed interviews, podcasts, and appearances where entities have spoken. Each feed item includes an AI-generated summary, title, full transcript, attached Quote objects from the transcript, and metadata.

Quotes

Notable statements extracted from feed items. These can be filtered by attributes like "controversial" or "financial policy." Each Quote is attached to both an Entity and a Feed Item.

Companies

Organizations associated with entities, including both public companies (with tickers) and private institutions. Each Company has a list of Entities linked to it, usually the C-suite.

Common Workflows

Company Conversations
# Fetch conversations from Microsoft executives directly
convos = client.get_feed(company_name="MSFT", page_size=25).results
for convo in convos:
    print(f"Video/Transcript Title: {convo['item_title']}")
    print(f"Microsoft Executive Name: {convo.get('entity_name')} ({convo.get('entity_title')})")
    print("---")

Example output:

Video/Transcript Title: Satya Nadella on AI Cloud Economics — Azure Earnings Highlights
Microsoft Executive Name: Satya Nadella (Chairman & CEO)
---
Video/Transcript Title: Amy Hood Breaks Down AI CapEx and Margins — Q&A Session
Microsoft Executive Name: Amy Hood (EVP & CFO)
---
Video/Transcript Title: Kevin Scott on Copilot Roadmap and Inference Efficiency
Microsoft Executive Name: Kevin Scott (CTO & EVP, AI)
---

Note: Each conversation object returned by get_feed contains not only conversation/transcript data, but also the associated entity metadata, such as entity_name, entity_title, and institution, making it easy to display context alongside conversation content.

Quotes

Search quotes for an entity and stack filters like is_controversial and keyword search.

# Get controversial quotes from Elon Musk about bitcoin
quotes = client.get_quotes(
    entity_name="elon musk",
    keyword="bitcoin",
    is_controversial=True,
    page_size=25,
)
for q in quotes.results:
    print(f"{q['text'][:80]}...")

Endpoints

GET
/api/get_feed/

Returns feed data for "conversations" (such as podcasts or interviews) for an entity, company, or keyword. All parameters are optional — if no filters are provided, returns all conversations ordered by recency. Note: If using keyword search, you must also provide entity_name/entity_id or company_name/company_id.

Parameter Type Description
entity_name string Optional. Search by entity name (e.g. "elon musk", "jerome powell")
company_name string Optional. Search by company name or ticker (e.g. "tesla", "TSLA", "JPMorgan")
keyword string Optional. Search conversation data by keywords. Returns conversations where your keyword has been spoken in the dialogue or where the keyword is in the title. Must be combined with entity_name/entity_id or company_name/company_id.
entity_id integer Optional. Fetch all recent conversations of a specific entity by ID. Get this ID from /api/get_entities. Alternative to entity_name (takes precedence if both provided).
company_id integer Optional. Filter for conversations where the key speaker is an executive or leader from the company at company_id. Get this ID using /api/get_companies. Alternative to company_name (takes precedence if both provided).
filter_before_dt string Optional. Only return conversations published on or before this date. ISO 8601 format (e.g. 2025-06-01 or 2025-06-01T00:00:00+00:00).
page_num integer Optional. Page number for pagination (default: 1)
page_size integer Optional. Number of results per page (default: 10, max: 500).
before_feed_item_id integer Optional. For keyset-style pagination. Only return feed items with IDs less than this value. Use last_seen_id from the previous response. Cannot be combined with keyword.

Responses include transcript text and AI review metadata (e.g. transcript_first_person, transcript_first_person_score under review/extra).

With the power of the /api/get_feed API, you can search all of Elon Musk's recent podcast appearances or Jerome Powell's interviews by first fetching their entity_id from the /api/get_entities endpoint and then using it here. Paginate through the entire feed and use as needed. Each conversation object contains an AI generated summary of the conversation, entire transcript of convo, and other important metadata like publish_date.

Simple Usage with python client

Get Donald Trump's conversation feed and page through it.

client = CEOInterviews(api_key)

# Directly fetch Trump's conversations using entity_name
trump_resp = client.get_feed(entity_name="donald trump")
if trump_resp.page_has_next:
	page_2 = client.get_feed(entity_name="donald trump", page_num=2)

Get Donald Trump's conversations where "israel" is mentioned.

trump_israel_resp = client.get_feed(
	entity_name="donald trump",
	keyword="israel",
)
print(f"Num results: {len(trump_israel_resp.results)}")
Response Format

The reponse format is an APIResults object that contains queried results under results field and pagination params under page_has_previous, page_has_next, page_num.

APIResults(
	results: [
		{
			"item_title": "Trump points finger at Newsom for CA wildfires: 'He is the blame for this'",
			"transcript": """[\"1\\n00:00:0,733 --> 00:00:4,870\\nPAST THE BURNED OUT HOME AFTER\", \"2\\n00:00:2,702 --> 00:00:4,870\\n \", \"3\\n00:00:2,769 --> 00:00:6,739\\nBURNED OUT HOMES. THIS DISASTER\""",
			"source_url": "https://www.youtube.com/watch?v=P5iLxW9AoMU",
			"entity_name": "Donald Trump",
			"institution": "Trump Media & Technology Group",
			"entity_title": "45th U.S. President",
			"thumbnail_image_url": "https://i.ytimg.com/vi_webp/P5iLxW9AoMU/maxresdefault.webp",
			"is_politician": True,
			"is_company_leader": False,
			"publish_date": "2025-01-09T07:48:59+00:00",
			"entity_img": "https://ceointerviews.ai/static/images/entity_pfps/5099.png",
			"feed_item_id": 58827,
			"entity_id": 5099,
			"share_link": "https://ceointerviews.ai/transcript/JoyigX2-ofvcFOrQ1CmTmSp0yyBN/",
			"appearance_date_v2": "2025-01-08",

		},
		# ... more results here ...
		# ...
	],
	page_has_previous: False,
	page_has_next: False,
	page_num: 1,
	num_results: 1,
	http_status: 200,
)
Response Params
Parameter Type Description
feed_item_id integer Unique ID representing this conversation (or feed item).
company_id integer The company ID of the company that the key entity which is associated with this feed item (transcript)
entity_id integer Entity ID of the key entity that is speaking in the conversation.
source_url string Original URL of the underlying conversation. Can be a Youtube or Podcast link.
item_title string Title of the conversation, this can be a YouTube video title or podcast episode title.
transcript string The raw string transcript of the conversation. Extracted from the underlying podcast or video.
thumbnail_image_url string Main image URL representing this conversation, can be a YouTube thumbnail.
extra object Additional metadata, including quality control fields (such as transcript_first_person, transcript_first_person_score, etc.) that explain why this item passed AI quality filters. Use this field to access quality and review reasons/scores for each conversation.
entity_title string The title (job title and institution) of the key entity that is speaking in the conversation.
is_politician boolean Boolean for is the key entity in this conversation a politician.
is_company_leader boolean Boolean for is the key entity in this conversation a company leader (defined as CEO, President, or Board).
entity_img string URL of the entity's profile picture.
publish_date string ISO 8601 timestamp of when the video/podcast was published on the source platform (e.g., YouTube upload date).
appearance_date_v2 string ISO 8601 date (YYYY-MM-DD) representing when the entity actually appeared or spoke, which may differ from the publish date. For example, a video uploaded on 2025-01-15 may contain an interview recorded on 2025-01-10. This field is AI-inferred from transcript content, video metadata, and web search. Returns null if not determined. Use this for accurate temporal analysis of when statements were made.
How to get all Conversations from the DB

Similar to the example above of paginating through all Entities in the DB you can do the same with Conversation objects.

all_convos = []
for page_num in range(1, 100):
	resp = client.get_feed(page_num=page_num, page_size=500)
	all_convos.extend(resp.results)
	if not resp.page_has_next:
		break

for convo in all_convos[:5]:
	print(f"Title: {convo['item_title']} publish date {convo['publish_date']}")
GET
/api/get_companies/

Search company data by keyword or ticker. Returns comprehensive company information including all index classifications (S&P 500, NASDAQ, startup status, geographic location, etc.). All parameters are optional — if no filters are provided, returns all companies ordered by number of conversations.

Parameter Type Description
keyword string Optional. Search by company name or ticker. If omitted, returns all companies ordered by number of associated conversations.
is_public_company boolean Optional. Filter by public status. True returns companies in S&P 500, NASDAQ, S&P 1500, or NASDAQ 100; false returns companies not in those sets.
is_snp500 boolean Optional. Filter by S&P 500 membership.
is_nasdaq boolean Optional. Filter by NASDAQ listing.
is_snp1500 boolean Optional. Filter by S&P 1500 membership.
is_nasdaq100 boolean Optional. Filter by NASDAQ 100 membership.
is_ai_startup boolean Optional. Filter for AI startups.
is_top_startup boolean Optional. Filter for top startups.
is_usa_based boolean Optional. Filter for USA-based companies.
is_china_based boolean Optional. Filter for China-based companies.
is_europe_based boolean Optional. Filter for Europe-based companies.
page_num integer Optional. Page number for pagination (default: 1)
page_size integer Optional. Number of results per page (default: 10, max: 500).
Simple Usage with python client

Fetch entities by their names or related institutions or titles

client = CEOInterviews(api_key)
tesla = client.get_companies(keyword="tesla")
assert tesla.results[0]["ticker"] == "TSLA"
Response Format

The reponse format is an APIResults object that contains queried results under results field and pagination params under page_has_previous, page_has_next, page_num.

APIResults(
	results: [
		{
			"ticker": "TSLA",
			"name": "Tesla, Inc.",
			"normalized_name": "Tesla",
			"logo_url": "https://ceointerviews.ai/static/images/company_logos/TSLA.png",
			"company_id": 51,
			"is_snp500": True,
			"is_nasdaq": True,
			"is_snp1500": True,
			"is_nasdaq100": True,
			"is_ai_startup": False,
			"is_top_startup": False,
			"is_usa_based": True,
			"is_china_based": False,
			"is_europe_based": False
		},
		# ... more results here ...
		# ...
	],
	page_has_previous: False,
	page_has_next: False,
	page_num: 1,
	num_results: 1,
	http_status: 200,
)
Response Params
Parameter Type Description
ticker string Stock ticker for the company if it's publicly listed. Private companies, non-corporate institutions, or other entities will not have this value set.
name string Official name of the institution or company.
normalized_name string Instead of the official name, such as "Adobe Inc." this field will contain the simplified name, such as "Adobe".
logo_url string Logo URL for the institution or company.
company_id integer Unique ID for this institution or company. Save this ID to use later for fetching conversation data for executives or leaders at this company at /api/get_feed
is_snp500 boolean Whether the company is part of the S&P 500 index.
is_nasdaq boolean Whether the company is listed on NASDAQ.
is_snp1500 boolean Whether the company is part of the S&P 1500 index.
is_nasdaq100 boolean Whether the company is part of the NASDAQ 100 index.
is_ai_startup boolean Whether the company is classified as an AI startup.
is_top_startup boolean Whether the company is classified as a top startup.
is_usa_based boolean Whether the company is based in the USA.
is_china_based boolean Whether the company is based in China.
is_europe_based boolean Whether the company is based in Europe.
GET
/api/get_entities/

Entity is a key concept in the CEOInterviews API. It represents a powerful individual, politician, CEO, or company executive. This endpoint returns Entity metadata based on search params.

Search for entities via keyword. Keywords are fuzzy-matched across the entity's name, title, company name, and stock ticker — you can combine terms in any order. All parameters are optional — if no filters are provided, returns all entities ordered by number of conversations.

id's returned in the response here are important. You will use them to fetch conversation dialogue data later.

Parameter Type Description
keyword string Optional. Fuzzy search across the entity's name, title, company name, and stock ticker. Supports partial names, tickers, and multi-term queries in any order. Not case sensitive. If omitted, returns all entities ordered by number of associated conversations.

Examples: ["Tim Cook", "Elon", "AAPL", "CEO Tesla", "devinder kumar amd", "federal reserve", "coinbase"]
company_id integer Optional. Filter entities by company ID. Get this ID using /api/get_companies.
gender string Optional. Filter entities by gender. Values: M (Male), F (Female), O (Other). Not case sensitive.
is_public_company boolean Optional. Filter entities by whether their associated company is public. True returns entities attached to companies in S&P 500, NASDAQ, S&P 1500, or NASDAQ 100; false returns entities not in those sets.
is_snp500 boolean Optional. Filter by associated company's S&P 500 membership.
is_nasdaq boolean Optional. Filter by associated company's NASDAQ listing.
is_snp1500 boolean Optional. Filter by associated company's S&P 1500 membership.
is_nasdaq100 boolean Optional. Filter by associated company's NASDAQ 100 membership.
is_ai_startup boolean Optional. Filter for entities at AI startups.
is_top_startup boolean Optional. Filter for entities at top startups.
is_usa_based boolean Optional. Filter for entities at USA-based companies.
is_china_based boolean Optional. Filter for entities at China-based companies.
is_europe_based boolean Optional. Filter for entities at Europe-based companies.
page_num integer Optional. Page number for pagination (default: 1)
page_size integer Optional. Number of results per page (default: 10, max: 500).
Simple Usage with python client

Fetch Donald Trump's entity or a list of McDonald's corperation C-suite executives with one line of code.

client = CEOInterviews(api_key)

trump = client.get_entities(keyword="donald trump")
mcdonalds_csuite_execs = client.get_entities(keyword="mcdonalds")

This API function returns a list of results. Sometimes you need to narrow down to the precise correct entities.

# Fetch Malaysian politicians, then filter down for the Prime Minister.
malay_politicians = client.get_entities(keyword="malaysia").results
prime_minister = [e for e in malay_politicians if "prime minister" in e["title"].lower()]

# Get Mark Zuckerberg
meta_resp = client.get_entities(keyword="meta")
meta_execs = meta_resp.results
mark_zuckerberg = [e for e in meta_execs if "zuckerberg" in e["simple_name"].lower()]

# Paginate Meta executives
if meta_resp.page_has_next:
	page_2_meta = client.get_entities(keyword="meta", page_num=2)
Response Params
Parameter Type Description
id integer Unique identifier for the entity.
name string Full name of the entity.
simple_name string Normalized name without titles, suffixes, or credentials.
title string Job title or position of the entity.
institution string Company or organization the entity is associated with.
description string Brief description of the entity.
gender string Gender of the entity (M/F/O) for Male/Female/Other.
is_top_influencer boolean Whether the entity is classified as a top influencer.
is_politician boolean Whether the entity is a politician.
is_company_leader boolean Whether the entity is a company leader (CEO, President, etc.).
profile_pic_url string URL to the entity's profile picture.
company object Company info if the Entity is associated with a Company:
  • id (integer): Company ID
  • ticker (string): Stock ticker symbol
  • full_name (string): Full company name
  • logo_url (string): URL to company logo
  • is_snp500 (boolean): Whether company is in S&P 500
  • is_nasdaq (boolean): Whether company is listed on NASDAQ
  • is_snp1500 (boolean): Whether company is in S&P 1500
  • is_nasdaq100 (boolean): Whether company is in NASDAQ 100
  • is_ai_startup (boolean): Whether company is an AI startup
  • is_top_startup (boolean): Whether company is a top startup
  • is_usa_based (boolean): Whether company is based in USA
  • is_china_based (boolean): Whether company is based in China
  • is_europe_based (boolean): Whether company is based in Europe
Response Format

The reponse format is an APIResults object that contains queried results under results field and pagination params under page_has_previous, page_has_next, page_num.

class APIResults
	results: List[Dict[str, Any]]
	page_has_previous: bool
	page_has_next: bool
	page_num: int
	http_status: int
	num_results: int

Example response APIResults.

APIResults(
	results: [
		{
			"id": 120427,
			"name": "David O. Sacks",
			"simple_name": "David Sacks",
			"title": "Founder of Craft Ventures",
			"institution": "Craft Ventures",
			"description": None,
			"gender": "M",
			"is_politician": False,
			"is_company_leader": False,
			"profile_pic_url": "https://ceointerviews.ai/static/images/entity_pfps/120427.png",
			"company": {
				"id": 670,
				"ticker": "None-Craft Ventures",
				"full_name": "Craft Ventures",
				"logo_url": "/static/images/company_logos/None-Craft Ventures.png",
				"is_snp500": False,
				"is_nasdaq": False,
				"is_snp1500": False,
				"is_nasdaq100": False,
				"is_ai_startup": False,
				"is_top_startup": True,
				"is_usa_based": True,
				"is_china_based": False,
				"is_europe_based": False
			}
		}
		# ... more results here ...
		# ...
	],
	page_has_previous: False,
	page_has_next: False,
	page_num: 1,
	num_results: 1,
	http_status: 200,
)
How to get all Entities from the DB

As a paid API customer you may be interested in saving all our entity data in your server for later use, e.g. to extract transcript data from the entities you care about.

You can do this by removing the keyword param and paginating through the entire db. See the following example code.

all_entities = []
for page_num in range(1, 500):
	resp = client.get_entities(page_num=page_num, page_size=100)
	all_entities.extend(resp.results)
	if not resp.page_has_next:
		break

# Fetch some example feed items for the first 5 entities
for entity in all_entities[:5]:
	feed_resp = client.get_feed(entity_id=entity["id"])
	print(f"Entity: {entity['name']} has {len(feed_resp.results)} posts")
GET
/api/get_quotes/

Get notable quotes from entities with various filtering options. This endpoint allows you to access key statements made by executives, politicians, and other influential figures. All parameters are optional — if no filters are provided, returns all quotes ordered by recency.

Parameter Type Description
entity_name string Optional. Search by entity name (e.g. "elon musk", "jerome powell"). Automatically resolves to entity_id internally. Recommended for AI agents.
company_name string Optional. Search by company name or ticker (e.g. "tesla", "TSLA", "JPMorgan"). Automatically resolves to company_id internally. Returns quotes from all entities at this company. Recommended for AI agents.
keyword string Optional. Search quotes by keyword. This searches within the quote text using semantic similarity.
entity_id integer Optional. Filter quotes by entity ID. Get this ID from /api/get_entities. Alternative to entity_name (takes precedence if both provided).
company_id integer Optional. Filter quotes by company ID. Returns quotes from all entities associated with this company. Get this ID from /api/get_companies. Alternative to company_name (takes precedence if both provided).
feed_item_id integer Optional. Filter quotes by the feed item it was associated with (podcast/video). Get this ID from /api/get_feed.
filter_before_dt string Optional. Only return quotes from conversations published on or before this date. ISO 8601 format (e.g. 2025-06-01 or 2025-06-01T00:00:00+00:00).
is_notable boolean Optional. Filter for quotes marked as notable (true/false).
is_controversial boolean Optional. Filter for quotes marked as controversial (true/false).
is_financial_policy boolean Optional. Filter for quotes related to financial policy (true/false).
before_quote_id integer Optional. For keyset-style pagination. Only return quotes with IDs less than this value. Use last_seen_id from the previous response.
page_num integer Optional. Page number for pagination (default: 1)
page_size integer Optional. Number of results per page (default: 10, max: 500).
Simple Usage
# Get controversial quotes from Elon Musk directly
quotes = client.get_quotes(entity_name="elon musk", is_controversial=True)
Response Format

The reponse format is an APIResults object that contains queried results under results field and pagination params under page_has_previous, page_has_next, page_num.

APIResults(
	results: [
		{
			"id": 12345,
			"text": "AI is the biggest risk to civilization that I've ever come across.",
			"source_url": "https://www.youtube.com/watch?v=abc123",
			"source_title": "Elon Musk Interview on AI Safety",
			"is_notable": true,
			"is_controversial": true,
			"is_financial_policy": false,
			"topics": ["artificial intelligence", "technology risk", "regulation"],
			"entities": ["OpenAI", "Tesla"],
			"companies": ["Tesla, Inc."],
			"created_at": "2023-05-15T14:32:45+00:00",
			"timestamp_from_tx": "00:15:23",
			"entity": {
				"id": 5099,
				"name": "Elon Musk",
				"simple_name": "Elon Musk",
				"title": "CEO of Tesla and SpaceX",
				"institution": "Tesla",
				"profile_pic_url": "https://ceointerviews.ai/static/images/entity_pfps/5099.png",
				"is_politician": false,
				"is_company_leader": true,
				"company": {
					"id": 51,
					"ticker": "TSLA",
					"full_name": "Tesla, Inc.",
					"logo_url": "https://ceointerviews.ai/static/images/company_logos/TSLA.png"
				}
			},
			"feed_item": {
				"id": 58827,
				"title": "Elon Musk Interview on AI Safety",
				"source_url": "https://www.youtube.com/watch?v=abc123",
				"source_created_at": "2023-05-15T12:30:00+00:00",
				"thumbnail_url": "https://i.ytimg.com/vi_webp/abc123/maxresdefault.webp"
			}
		},
		# ... more results here ...
		# ...
	],
	page_has_previous: False,
	page_has_next: True,
	page_num: 1,
	num_results: 10,
	http_status: 200,
)
Response Params
Parameter Type Description
id integer Unique identifier for the quote.
text string The actual quote text.
source_url string URL of the source where the quote was found.
source_title string Title of the source content.
is_notable boolean Whether the quote is marked as notable.
is_controversial boolean Whether the quote is marked as controversial.
is_financial_policy boolean Whether the quote is related to financial policy.
topics array List of topics mentioned in the quote.
entities array List of entities mentioned in the quote.
companies array List of companies mentioned in the quote.
created_at string ISO 8601 timestamp when the quote was created in our system.
timestamp_from_tx string Timestamp within the source content where the quote appears.
entity object Information about the entity who made the quote.
feed_item object Information about the feed item (podcast/video) where the quote was found.
How to get all Quotes from the DB

As a paid API customer you may be interested in retrieving all quotes from our database for your own analysis or application. You can do this by paginating through all quotes without specifying any filters.

all_quotes = []
for page_num in range(1, 500):
    resp = client.get_quotes(page_num=page_num, page_size=100)
    all_quotes.extend(resp.results)
    if not resp.page_has_next:
        break

Raw python HTTP API access

Don't want to install our pip python library? You can manually hit our HTTP endpoints via requests or CURL. Here's how to access our API directly.

import requests
from urllib.parse import urlencode

# Set up your API key
api_key = "your_api_key_here"

# Get notable quotes about artificial intelligence
params = {"keyword": "artificial intelligence", "is_notable": "true", "page_size": 25}
quotes_response = requests.get(
	f"https://ceointerviews.ai/api/get_quotes/?{urlencode(params)}",
	headers={"X-API-Key": api_key}
)
quotes_data = quotes_response.json()

# Print the first quote
if quotes_data["results"]:
    quote = quotes_data["results"][0]
    print(f"Quote: \"{quote['text']}\"")
    print(f"Speaker: {quote['entity']['name']}, {quote['entity']['title']}")

Fetch Elon Musk's conversation feed directly:

params = {"entity_name": "elon musk", "page_num": 1, "page_size": 25}
feed_response = requests.get(
	f"https://ceointerviews.ai/api/get_feed/?{urlencode(params)}",
	headers={"X-API-Key": api_key}
)

Fetch notable quotes from Elon Musk directly:

params = {"entity_name": "elon musk", "is_notable": "true", "page_size": 25}
quotes_response = requests.get(
	f"https://ceointerviews.ai/api/get_quotes/?{urlencode(params)}",
	headers={"X-API-Key": api_key}
)

Or if you need entity metadata first, fetch entity data for Elon Musk:

params = {"keyword": "elon musk"}
response = requests.get(
	f"https://ceointerviews.ai/api/get_entities/?{urlencode(params)}",
	headers={"X-API-Key": api_key}
)
elon_obj = response.json()["results"][0]

Rate Limits

Free Tier
  • • There is no free tier available, API access is for paid customers only.
API Tier
  • • 1000 requests per minute
  • • Unlimited requests per month
  • • Comprehensive access to our DB. We offer API users an endpoint to paginate through all Entity and conversation dialogue data.
  • • Get our API access now at the API Settings Page.
Custom Tier — please schedule a call
  • • Unlimited requests
  • • Custom rate limits based on needs
  • • The CEOInterviews team will manually deliver the data you need to your application or servers.
  • • Discuss pricing in a video call with our founder click here.

Error Handling

The API uses standard HTTP response codes:

  • • 200: Success
  • • 400: Bad Request
  • • 401: Unauthorized
  • • 403: Forbidden (Rate limit exceeded)
  • • 404: Not Found
  • • 500: Internal Server Error

Get API access now