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.
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.
API requests require an API key. Subscribe to the API plan.
from ceointerviews import CEOInterviews
api_key = "YOUR_API_KEY"
client = CEOInterviews(api_key)
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
The CEOInterviews API is built around several key resources:
An Entity represents an influential individual such as a CEO, politician, or executive. Each entity has an ID, name, title, and associated organization information.
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.
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.
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.
# 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.
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]}...")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.
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)}")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,
)| 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. |
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']}")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). |
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"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,
)| 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. |
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). |
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)
| 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:
|
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: intExample 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,
)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 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). |
# Get controversial quotes from Elon Musk directly
quotes = client.get_quotes(entity_name="elon musk", is_controversial=True)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,
)| 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. |
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:
breakDon'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]Entity and conversation dialogue data.The API uses standard HTTP response codes: