Skip to main content
Press ⌘K to search

Earnings calls & investor relations

Everything a company said to investors and everything it published around it — the verifier-approved AI brief and insight scores for each earnings call, the call event with the guidance extracted from its 8-K release, the speaker-labelled transcript, the wider investor-event list (conferences, investor days, shareholder meetings) with its captured slide decks, and the news and calendar scraped from the company's own IR website. Fiscal periods are the company's own fiscal calendar, which can run ahead of the calendar year: NVIDIA's May 2026 call is FY2027 Q1. Everything keyed to an eventId starts from /v1/stocks/{ticker}/investor-events.

/v1/stocks/

A verifier-approved qualitative read of a company's recent earnings calls, newest quarter first: a one-paragraph TL;DR, a bulleted bull case and bear case, verbatim pull-quotes attributed to the speaker and their role, and a derived narrativeShift against the immediately older available approved brief. The shift names that brief's fiscal period and separates new positive points, newly flagged risks, and points no longer raised. It is a deterministic fuzzy-text comparison of published bullets, not a separately verifier-approved claim. Only calls with an approved brief appear, so the returned quarters can be non-consecutive; narrativeShift is null only for the oldest approved brief on file.

guidanceComparison is additive and separate from the narrative diff. issuedAtCall carries management guidance linked to that exact event. changeVsPrior is Initiated on the first reliably keyed appearance, or Raised, Lowered, or Maintained when an earlier range for the exact metric, period, unit, and basis is comparable; priorGuidanceRange appears only for a comparable two-sided prior range. reportedVsCompanyGuidance compares the reported quarter with the latest operative company range announced before the call and retains that range's filing date, form, and SEC URL. This is not analyst consensus: actuals come only from compatible filed GAAP XBRL revenue or diluted-EPS facts, non-GAAP guidance is never compared with GAAP actuals, and actualIsDerived: true identifies a Q4 computed as filed full-year revenue minus filed nine-month revenue. guidanceComparison is null when no linked approved guidance or settled comparison is available; that absence is not proof the company issued none while extraction coverage is still backfilling.

Parameters: {ticker} (path — exact listed symbol, e.g. NVDA); limit (quarters to return, default 2, max 8); fiscalYear and fiscalQuarter (optional — fetch one specific period instead of the newest; a fiscalQuarter outside 1–4 returns 400 invalid_parameter).

curl "https://api.equibles.com/v1/stocks/NVDA/earnings-briefs?limit=1" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/stocks/NVDA/earnings-briefs?limit=1",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/earnings-briefs?limit=1", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());

Response (trimmed — two of the six bullish points shown):

{
  "data": [
    {
      "fiscalYear": 2027,
      "fiscalQuarter": 1,
      "callDate": "2026-05-20T00:00:00+00:00",
      "tldr": "NVIDIA reported record Q1 FY2027 revenue of $81.6 billion, up 85% year-over-year and 20% sequentially, with Data Center revenue of $75.2 billion up 92% year-over-year, and announced an additional $80 billion share repurchase authorization and a 25x increase in the quarterly dividend to $0.25 per share.",
      "bullish": [
        "Revenue of $81.6 billion was up 85% year-over-year and 20% sequentially, marking the third consecutive quarter of year-over-year acceleration and 14th straight quarter of sequential growth",
        "Data Center revenue of $75.2 billion was up 92% year-over-year and 21% sequentially, with Data Center compute of $60.4 billion up 77% year-over-year and Data Center networking of $14.8 billion up 199% year-over-year"
      ],
      "bearish": [
        "GAAP gross margin contracted 0.1 points sequentially from 75.0% to 74.9%",
        "Operating expenses grew 52% year-over-year to $7.6 billion"
      ],
      "narrativeShift": {
        "priorFiscalYear": 2026,
        "priorFiscalQuarter": 4,
        "derived": true,
        "newBullish": [
          "Revenue of $81.6 billion was up 85% year-over-year and 20% sequentially, marking the third consecutive quarter of year-over-year acceleration and 14th straight quarter of sequential growth"
        ],
        "newBearish": [
          "GAAP gross margin contracted 0.1 points sequentially from 75.0% to 74.9%"
        ],
        "noLongerRaised": [
          "Record Q4 revenue of $68.1B, up 73% YoY, and record Data Center revenue of $62.3B, up 75% YoY, with $11B sequential Data Center growth."
        ]
      },
      "guidanceComparison": {
        "issuedAtCall": [
          {
            "filedDate": "2026-05-20",
            "form": "8-K",
            "filingUrl": "https://www.sec.gov/Archives/edgar/data/1045810/0001045810-26-000051.txt",
            "items": [
              {
                "metric": "Revenue",
                "period": "second quarter of fiscal 2027",
                "fiscalYear": 2027,
                "fiscalQuarter": 2,
                "low": 89180000000.0000,
                "high": 92820000000.0000,
                "midpoint": 91000000000.0000,
                "unit": "USD",
                "basis": null,
                "fromTable": false,
                "quote": "Revenue is expected to be $91.0 billion, plus or minus 2%.",
                "actual": null,
                "actualVerdict": null,
                "actualIsDerived": false,
                "changeVsPrior": "Initiated",
                "priorGuidanceRange": null
              }
            ]
          }
        ],
        "reportedVsCompanyGuidance": [
          {
            "guidanceFiledDate": "2026-02-25",
            "guidanceForm": "8-K",
            "guidanceFilingUrl": "https://www.sec.gov/Archives/edgar/data/1045810/000104581026000019/0001045810-26-000019.txt",
            "item": {
              "metric": "Revenue",
              "period": "first quarter of fiscal 2027",
              "fiscalYear": 2027,
              "fiscalQuarter": 1,
              "low": 76440000000.0000,
              "high": 79560000000.0000,
              "midpoint": 78000000000.0000,
              "unit": "USD",
              "basis": null,
              "fromTable": false,
              "quote": "Revenue is expected to be $78.0 billion, plus or minus 2%.",
              "actual": 81615000000.0,
              "actualVerdict": "above",
              "actualIsDerived": false,
              "changeVsPrior": "Initiated",
              "priorGuidanceRange": null
            }
          }
        ]
      },
      "quotes": [
        {
          "text": "We are continuing to work vigorously on our supply chain ecosystem to address the incredible demand we see ahead of us, giving us full confidence in the $1 trillion in Blackwell and Reuben revenue we foresee from 2025 through calendar 2027.",
          "speakerName": "Colette Kress",
          "speakerRole": "CFO",
          "startSeconds": 122.22
        },
        {
          "text": "We are also announcing an $80 billion share repurchase authorization, which is in addition to the $39 billion remaining on our current plan. As we indicated at GTC, we plan to return roughly 50% of free cash flow to shareholders this year.",
          "speakerName": "Colette Kress",
          "speakerRole": "CFO",
          "startSeconds": 122.22
        }
      ]
    }
  ]
}

/v1/stocks/

The AI-scored read of a company's recent earnings calls, newest call first: a management-tone score (toneScore, -100 cautious to +100 bullish), a hedging score (hedgingScore, 0 plain to 100 qualified), the call's themes with a per-theme tone label, and the verbatim quotes the tone score was grounded in. mentionCount is counted deterministically by our own code from the keywords beside it — never a figure the model asserted — so the keywords are the audit trail for the count. Verifier-approved, so scored quarters can be non-consecutive.

Parameters: {ticker} (path — exact listed symbol); limit (scored calls to return, default 2, max 8); fiscalYear and fiscalQuarter (optional — fetch one specific period instead of the newest; a fiscalQuarter outside 1–4 returns 400 invalid_parameter).

curl "https://api.equibles.com/v1/stocks/NVDA/call-insights?limit=1" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/stocks/NVDA/call-insights?limit=1",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/call-insights?limit=1", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());

Response (trimmed — two of the eight themes and two of the four tone-evidence quotes shown):

{
  "data": [
    {
      "fiscalYear": 2027,
      "fiscalQuarter": 1,
      "callDate": "2026-05-20T00:00:00+00:00",
      "toneScore": 95,
      "hedgingScore": 15,
      "themes": [
        {
          "name": "Data Center / Blackwell Demand",
          "tone": "positive",
          "mentionCount": 78,
          "keywords": [
            "Blackwell",
            "Data center",
            "Hyperscale",
            "GB300"
          ]
        },
        {
          "name": "Vera CPU Platform",
          "tone": "positive",
          "mentionCount": 77,
          "keywords": [
            "Vera",
            "CPU",
            "agentic AI"
          ]
        }
      ],
      "toneEvidence": [
        "Demand has gone parabolic.",
        "This was an extraordinary quarter."
      ]
    }
  ]
}

/v1/stocks/

The single event record grouping one fiscal quarter's earnings-call artefacts — audio, transcript, slide deck and the 8-K earnings release — with the guidance extracted from that release when a verifier-approved extraction backs it. guidanceStatus is what makes an empty guidance list readable: approved means the extraction ran and the release genuinely guided nothing more, notExtracted means the release exists but nobody has extracted it yet, and null means no 8-K earnings release is linked to the event. Guided ranges come over the wire as plain numbers in the row's unit (USD or percent), with low equal to high for point guidance. When a prior comparable management range exists, changeVsPrior and priorGuidanceRange use the same conservative exact-period comparison as the earnings brief; otherwise both are null. Unknown quarters return 404; a fiscalQuarter outside 1–4 returns 400 invalid_parameter.

Parameters: {ticker} (path — exact listed symbol); {fiscalYear} (path — the company's own fiscal calendar, e.g. 2027 for NVIDIA's May 2026 call); {fiscalQuarter} (path — 1–4). This endpoint takes no query parameters.

curl "https://api.equibles.com/v1/stocks/NVDA/earnings-calls/2027/1" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/stocks/NVDA/earnings-calls/2027/1",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/earnings-calls/2027/1", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());

Response (trimmed — two of the seven guidance rows shown):

{
  "ticker": "NVDA",
  "guidance": [
    {
      "metric": "Revenue",
      "period": "second quarter of fiscal 2027",
      "fiscalYear": 2027,
      "fiscalQuarter": 2,
      "low": 89180000000.0000,
      "high": 92820000000.0000,
      "midpoint": 91000000000.0000,
      "unit": "USD",
      "basis": null,
      "fromTable": false,
      "quote": "Revenue is expected to be $91.0 billion, plus or minus 2%.",
      "actual": null,
      "actualVerdict": null,
      "actualIsDerived": false,
      "changeVsPrior": "Initiated",
      "priorGuidanceRange": null
    },
    {
      "metric": "GAAP gross margins",
      "period": "second quarter of fiscal 2027",
      "fiscalYear": 2027,
      "fiscalQuarter": 2,
      "low": 74.4000,
      "high": 75.4000,
      "midpoint": 74.9000,
      "unit": "percent",
      "basis": "GAAP",
      "fromTable": false,
      "quote": "GAAP and non-GAAP gross margins are expected to be 74.9% and 75.0%, respectively, plus or minus 50 basis points.",
      "actual": null,
      "actualVerdict": null,
      "actualIsDerived": false,
      "changeVsPrior": "Initiated",
      "priorGuidanceRange": null
    }
  ],
  "guidanceStatus": "approved",
  "corrections": [],
  "id": "c00c67f3-ef10-4170-b13e-b51dac2ba048",
  "eventType": "EarningsCall",
  "eventTypeName": "Earnings Call",
  "title": "Nvidia Corp Q1 FY2027 Earnings Call",
  "callDate": "2026-05-20T00:00:00+00:00",
  "fiscalYear": 2027,
  "fiscalQuarter": 1,
  "status": "Concluded",
  "statusName": "Concluded",
  "webcastUrl": "https://events.q4inc.com/attendee/345403167",
  "transcriptDocumentId": "59273f5f-e632-4597-9152-6590cb45df12",
  "earningsReleaseDocumentId": "9ab0a248-e65a-46ad-abc2-db37abbf4a22",
  "hasAudio": true,
  "hasSlides": false,
  "hasTranscript": true
}

/v1/stocks/

The speaker-labelled transcript of that quarter's earnings call — every turn in the order it was spoken, with its position in the call audio. A turn carries a real speakerName only when the identity resolution is trusted; unverified voices keep the neutral speakerIndex (and a role label when one is known). Page with offset: turnCount is the turns in this response, totalTurnCount the call's total, and hasMore says whether more remain. corrections carries filing-backed corrections to figures spoken on the call — the transcript text is never edited, so the conflict travels alongside it.

Parameters: {ticker} (path — exact listed symbol); {fiscalYear} and {fiscalQuarter} (path — the company's own fiscal calendar, quarter 1–4); limit (turns per response, default 50, max 200); offset (turns to skip, default 0, max 100000).

curl "https://api.equibles.com/v1/stocks/NVDA/earnings-calls/2027/1/speakers?limit=1" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/stocks/NVDA/earnings-calls/2027/1/speakers?limit=1",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/earnings-calls/2027/1/speakers?limit=1", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());
{
  "eventId": "c00c67f3-ef10-4170-b13e-b51dac2ba048",
  "ticker": "NVDA",
  "eventTitle": "Nvidia Corp Q1 FY2027 Earnings Call",
  "callDate": "2026-05-20T00:00:00+00:00",
  "fiscalYear": 2027,
  "fiscalQuarter": 1,
  "turnCount": 1,
  "totalTurnCount": 32,
  "offset": 0,
  "hasMore": true,
  "data": [
    {
      "speakerIndex": 1,
      "speakerName": null,
      "speakerRole": "Operator",
      "text": "Good afternoon. My name is Sarah, and I will be your conference operator today. At this time, I would like to welcome everyone to NVIDIA's first quarter earnings call. All lines have been placed on mute to prevent any background noise. After the speaker's remarks, there will be a question and answer session. If you would like to ask a question during this time, simply press star, followed by the number one on your telephone keypad. If you would like to withdraw your question, press star one again. Thank you. Sushia Hari, you may begin your conference.",
      "startSeconds": 0.0,
      "endSeconds": 30.46
    }
  ],
  "corrections": []
}

/v1/stocks/

A company's investor events — earnings calls plus every other event it webcasts (conferences, investor and analyst days, shareholder meetings) — newest first, including ones still Scheduled. Each row's id is what the per-event speakers and slides endpoints take. fiscalYear and fiscalQuarter are populated for earnings calls only; conferences are not keyed to a fiscal quarter, which is why they need the event-id route. Gate transcript availability on hasTranscript, not on transcriptDocumentId: a call transcribed from audio stores speaker turns without ever linking a transcript document.

Parameters: {ticker} (path — exact listed symbol); limit (events to return, default 25, max 100).

curl "https://api.equibles.com/v1/stocks/NVDA/investor-events?limit=2" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/stocks/NVDA/investor-events?limit=2",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/investor-events?limit=2", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());
{
  "data": [
    {
      "id": "bffc7b28-1ead-45ea-a95e-4e25995761e3",
      "eventType": "EarningsCall",
      "eventTypeName": "Earnings Call",
      "title": "NVIDIA Sets Conference Call for Second-Quarter Financial Results",
      "callDate": "2026-08-26T21:00:00+00:00",
      "fiscalYear": 2027,
      "fiscalQuarter": 2,
      "status": "Scheduled",
      "statusName": "Scheduled",
      "webcastUrl": "https://investor.nvidia.com/",
      "transcriptDocumentId": null,
      "earningsReleaseDocumentId": null,
      "hasAudio": false,
      "hasSlides": false,
      "hasTranscript": false
    },
    {
      "id": "19c1aec8-6e7c-4cb7-93a5-079a2662a797",
      "eventType": "AGM",
      "eventTypeName": "Annual General Meeting",
      "title": "NVIDIA 2026 Annual Meeting of Stockholders",
      "callDate": "2026-06-24T09:00:00+00:00",
      "fiscalYear": null,
      "fiscalQuarter": null,
      "status": "Concluded",
      "statusName": "Concluded",
      "webcastUrl": "https://east.virtualshareholdermeeting.com/vsm/web?pvskey=NVDA2026",
      "transcriptDocumentId": null,
      "earningsReleaseDocumentId": null,
      "hasAudio": true,
      "hasSlides": false,
      "hasTranscript": false
    }
  ]
}

/v1/investor-events/

The same speaker-labelled transcript keyed by event id instead of fiscal quarter — the route for conferences, investor days and shareholder meetings, which have no fiscal quarter to key on (fiscalYear and fiscalQuarter come back null for them). Paging, identity rules and the corrections block are identical to the earnings-call speakers endpoint. The example below is NVIDIA's fireside at the TD Cowen 54th Annual Technology, Media & Telecom Conference.

Parameters: {eventId} (path — a data[].id from /v1/stocks/{ticker}/investor-events); limit (turns per response, default 50, max 200); offset (turns to skip, default 0, max 100000).

curl "https://api.equibles.com/v1/investor-events/11b13ddd-47d8-4081-9108-a77df8333d2e/speakers?limit=2" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/investor-events/11b13ddd-47d8-4081-9108-a77df8333d2e/speakers?limit=2",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/investor-events/11b13ddd-47d8-4081-9108-a77df8333d2e/speakers?limit=2", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());
{
  "eventId": "11b13ddd-47d8-4081-9108-a77df8333d2e",
  "ticker": "NVDA",
  "eventTitle": "TD Cowen 54th Annual Technology, Media & Telecom Conference",
  "callDate": "2026-05-28T07:15:00+00:00",
  "fiscalYear": null,
  "fiscalQuarter": null,
  "turnCount": 2,
  "totalTurnCount": 24,
  "offset": 0,
  "hasMore": true,
  "data": [
    {
      "speakerIndex": 2,
      "speakerName": "Shauna Laughlin",
      "speakerRole": "Analyst",
      "text": "Thank you, everybody. Welcome to day two of our 54th annual TMT conference. Really pleased to be joined on stage by Shauna Laughlin, who heads up our networking coverage, and Galad Shanir of NVIDIA. How'd I do?",
      "startSeconds": 0.92,
      "endSeconds": 14.82
    },
    {
      "speakerIndex": 0,
      "speakerName": "Gilad Shanir",
      "speakerRole": null,
      "text": "Almost, almost. Close enough.",
      "startSeconds": 15.52,
      "endSeconds": 17.84
    }
  ],
  "corrections": []
}

/v1/investor-events/

Metadata for the slide deck captured for an investor event. A deck comes in one of two shapes, named by presentationKind: a Pdf deck sets fileUrl to the streaming route below and leaves imageUrls null, while an ImageSlideshow deck (a deck filed as images inside an 8-K exhibit) has no PDF blob and instead lists its slide images in deck order in imageUrls, with fileUrl null. source/sourceName say where the deck came from (IrWebsite, EightKExhibit, …) and pageCount counts PDF pages or slide images. An event with no captured deck returns 404 — check hasSlides on the investor-events row first. NVIDIA publishes no deck with its calls, so the example below uses Intel's Q2 2026 earnings call.

Parameters: {eventId} (path — a data[].id from /v1/stocks/{ticker}/investor-events). This endpoint takes no query parameters.

curl "https://api.equibles.com/v1/investor-events/37d93771-5d18-429c-b910-ba2722de5fb7/slides" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/investor-events/37d93771-5d18-429c-b910-ba2722de5fb7/slides",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/investor-events/37d93771-5d18-429c-b910-ba2722de5fb7/slides", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());
{
  "eventId": "37d93771-5d18-429c-b910-ba2722de5fb7",
  "ticker": "INTC",
  "eventTitle": "Q2 2026 Intel Corporation Earnings Conference Call",
  "callDate": "2026-07-23T00:00:00+00:00",
  "title": "Q2 2026 Intel Corporation Earnings Conference Call",
  "source": "IrWebsite",
  "sourceName": "IR website",
  "presentationKind": "Pdf",
  "pageCount": 16,
  "capturedAt": "2026-08-04T04:34:55.444158+00:00",
  "mimeType": "application/pdf",
  "fileUrl": "/v1/investor-events/37d93771-5d18-429c-b910-ba2722de5fb7/slides/file",
  "imageUrls": null
}

/v1/investor-events/

Streams the captured deck itself — this is the one endpoint on this page that answers with file bytes, not JSON, so write the body to a file rather than parsing it. It is the route the fileUrl from the slides metadata points at. Only Pdf decks are served here: an ImageSlideshow deck has no PDF blob and returns 404 with the message "This deck is an image slideshow with no PDF file; use the imageUrls from the slides metadata endpoint."; an event with no captured deck returns the ordinary 404 error envelope. The example below is the same Intel Q2 2026 deck.

Parameters: {eventId} (path — a data[].id from /v1/stocks/{ticker}/investor-events). This endpoint takes no query parameters.

curl "https://api.equibles.com/v1/investor-events/37d93771-5d18-429c-b910-ba2722de5fb7/slides/file" \
  -H "Authorization: Bearer eq_your_api_key" \
  -o slides.pdf
import requests
r = requests.get(
    "https://api.equibles.com/v1/investor-events/37d93771-5d18-429c-b910-ba2722de5fb7/slides/file",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
with open("slides.pdf", "wb") as f:
    f.write(r.content)
const res = await fetch("https://api.equibles.com/v1/investor-events/37d93771-5d18-429c-b910-ba2722de5fb7/slides/file", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
const bytes = new Uint8Array(await res.arrayBuffer());

Response: the raw deck. The body of the call above is a 1,238,251-byte, 16-page PDF. The Content-Type is the stored deck's own MIME type — application/pdf for every deck served today — sent with X-Content-Type-Options: nosniff because the bytes are an untrusted third-party file. A captured deck is immutable, so it is cached hard and validated cheaply: Cache-Control: public, max-age=2592000, plus an ETag and a Last-Modified matching the metadata's capturedAt. Accept-Ranges: bytes is advertised, so range requests work for resuming or fetching part of a large deck.

/v1/stocks/

The forward investor-relations calendar scraped from the company's own IR website — earnings webcasts, conference appearances, presentations and shareholder meetings — from now onward only, soonest first. Past events and their transcripts live on the investor-events endpoints above. When two ingest lanes list the same event under different titles (same day, same registration URL), the rows are collapsed to one. The coverage block makes an empty list interpretable, and is derived from this endpoint's own data — stored events for the stock, never its news: scraped means the calendar scrape has demonstrably parsed events (so an empty list reflects a genuinely empty forward calendar), while attempted, discovered and none all mean the pipeline has not gotten far enough for the emptiness to say anything about the company.

Parameters: {ticker} (path — exact listed symbol); limit (events to return, default 20, max 500).

curl "https://api.equibles.com/v1/stocks/NVDA/ir-events?limit=2" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/stocks/NVDA/ir-events?limit=2",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/ir-events?limit=2", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());
{
  "coverage": {
    "status": "scraped",
    "lastScrapedAt": "2026-08-11T01:42:44.886024Z"
  },
  "data": [
    {
      "startsAt": "2026-08-26T21:00:00Z",
      "type": "Earnings call",
      "title": "NVIDIA Sets Conference Call for Second-Quarter Financial Results",
      "url": "https://events.q4inc.com/attendee/842602961"
    }
  ]
}

/v1/stocks/

Press releases scraped from the company's own investor-relations website, newest first — the company's official announcements, distinct from third-party news coverage. One release is one row: when an IR-site migration re-ingested the same release under a second hostname or URL form, the duplicates are collapsed to the freshest capture. summary is filled only when the source feed provides one, reduced to plain prose (markup, stylesheet boilerplate and comment armor stripped). It is the one endpoint here that uses the standard { data, meta } paged envelope — the speakers endpoints also take limit/offset but report their paging state in top-level turnCount/totalTurnCount/hasMore fields instead — and it carries a coverage block with the same shape as ir-events, derived independently from this endpoint's own data (stored news items for the stock, never its events): a stock whose news scrape has never parsed an item reports attempted/discovered/none, never scraped.

Parameters: {ticker} (path — exact listed symbol); limit (rows per page, default 20, max 500); offset (rows to skip for paging).

curl "https://api.equibles.com/v1/stocks/NVDA/ir-news?limit=2" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/stocks/NVDA/ir-news?limit=2",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/stocks/NVDA/ir-news?limit=2", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());
{
  "coverage": {
    "status": "scraped",
    "lastScrapedAt": "2026-08-11T01:42:44.886024Z"
  },
  "data": [
    {
      "publishedAt": "2026-08-10T20:01:00Z",
      "title": "NVIDIA Partners With Apollo, BlackRock, Blackstone, Brookfield, Goldman Sachs and KKR to Establish AI Compute Infrastructure Financing Platforms to Mobilize Over $500 Billion of Third-Party Capital",
      "url": "https://investor.nvidia.com/news/press-release-details/2026/NVIDIA-Partners-With-Apollo-BlackRock-Blackstone-Brookfield-Goldman-Sachs-and-KKR-to-Establish-AI-Compute-Infrastructure-Financing-Platforms-to-Mobilize-Over-500-Billion-of-Third-Party-Capital/default.aspx",
      "summary": null
    },
    {
      "publishedAt": "2026-07-29T21:00:00Z",
      "title": "NVIDIA Sets Conference Call for Second-Quarter Financial Results",
      "url": "https://investor.nvidia.com/news/press-release-details/2026/NVIDIA-Sets-Conference-Call-for-Second-Quarter-Financial-Results/default.aspx",
      "summary": null
    }
  ],
  "meta": {
    "limit": 2,
    "offset": 0,
    "count": 2,
    "hasMore": true
  }
}

Try it with a real key

Every example on this page runs against the live API. A free account includes an API key and MCP access — set up in under a minute.

Get your free API key