Skip to content
Live news Screener Coverage Pricing Docs REST API WebSocket API MCP server Company Use cases Blog Changelog Status Compare Contact
OXSQ$1.31-0.02(-1.62%)Oxford Square Capital Corp. Schedules Third Quarter 2026 Earnings Release and Conference Call for October 30, 2026[4:37:45 PM ET]CSV$35.41-1.57(-4.25%)Carriage Services Announces 2026 Third Quarter Earnings Release and Conference Call Schedule[4:31:58 PM ET]GD$349.36-1.43(-0.41%)Amy Johnson Appointed President of GDIT General Dynamics (NYSE:GD) announced today that Amy Johnson has been appointed as president of GDIT, effective November 3. Johnson is a 27-year...[4:30:00 PM ET]ACRE$3.35+0.09(+2.76%)Ares Commercial Real Estate Corporation Schedules Earnings Release and Conference Call for the Third Quarter Ended September 30, 2026 Ares Commercial Real Estate Corporation (NYSE: ACRE) announced today that it will report earnings for the third quarter ended September 30, 2026 on...[4:30:00 PM ET]ESOA$9.26+0.12(+1.31%)ENERGY SERVICES OF AMERICA COMPLETES FAMCO ACQUISITION Energy Services of America Corporation (the "Company" or "Energy Services") (Nasdaq: ESOA) today announced that its subsidiary, FAMCO Acquisition,...[4:30:00 PM ET]AVTGF$0.240.00(0.00%)Avanti Gold Announces Results of Annual General and Special Meeting[4:30:00 PM ET]AWK$142.75-0.48(-0.34%)California American Water Submits Monterey Desalination Project Financing and Cost Updates to the California Public Utilities Commission Today, California American Water submitted an application to the California Public Utilities Commission (CPUC) updating the project cost estimates, a ...[4:21:00 PM ET]PBT$33.68+0.41(+1.23%)PERMIAN BASIN ROYALTY TRUST ANNOUNCES RECORD DATE AND MEETING DATE FOR SPECIAL MEETING TO CONSIDER SOFTVEST PROPOSALS Argent Trust Company, as trustee ("Trustee") of the Permian Basin Royalty Trust (NYSE: PBT) ("Permian" or the "Trust"), today announced that it has...[4:20:00 PM ET]MMT$4.15-0.05(-1.19%)Aberdeen Multi-Market Income Fund (MMT) Announces Upcoming 1-for-4 Reverse Stock Split The Board of Trustees of Aberdeen Multi-Market Income Fund (NYSE: MMT) has approved a 1-for-4 reverse stock split of the Fund's issued and...[4:17:00 PM ET]FICO$751.41-71.86(-8.73%)FICO Holds Mortgage Score Pricing at $10 for Lenders Enrolled in Preferred Program[4:15:00 PM ET]CIVB$28.29+0.14(+0.50%)Civista Bancshares, Inc. Appoints Jeremy Normington-Slay to Board of Directors Civista Bancshares, Inc. (NASDAQ: CIVB) ("Civista") today announced the appointment of Jeremy Normington-Slay, DPT, MBA, FACHE, to the Boards of...[4:15:00 PM ET]NKTR$37.22-1.43(-3.70%)Nektar Therapeutics Reports Inducement Grants Under Nasdaq Listing Rule 5635(c)(4) Nektar Therapeutics (NASDAQ: NKTR) today announced that, on October 20, 2026, the Organization and Compensation Committee of Nektar's Board of...[4:15:00 PM ET]YMAT$2.13+0.21(+10.94%)J-Star Holding Co., Ltd. Files Interim Financial Report on Form 6-K[4:15:00 PM ET]MFI$8.390.00(0.00%)mF International to Wind Down Legacy Financial Trading Business, Shift Focus Completely to Digital Asset Strategy mF International Limited (NASDAQ:MFI) ("mF International" or the "Company") today announced that its Board of Directors has approved the wind-down...[4:15:00 PM ET]DTCFF$0.28-0.02(-5.28%)Defence Therapeutics Announces Convertible Debenture Interest Payment[4:15:00 PM ET]NKE$37.35-0.97(-2.53%)NIKE, Inc. Announces 2026 Investor Day Webcast[4:15:00 PM ET]
Getting started

Errors

View as markdown

Errors use standard HTTP status codes and a consistent JSON body.

Error format

400 Bad Request
{
  "error": {
    "code": "invalid_parameter",
    "message": "limit must be between 1 and 100",
    "status": 400
  }
}

Branch on error.code, which is stable. error.message is for humans and may change.

Error codes

StatusCodeWhat it means
400invalid_parameterA query parameter is missing, malformed or out of range. The message names the parameter.
401missing_api_keyNo key was sent. Use the Authorization: Bearer header, X-API-Key, or ?api_key=.
401invalid_api_keyThe key doesn't exist or was revoked. Create a new one in the dashboard.
403plan_requiredThe feature isn't in your plan (for example, the WebSocket stream on Free).
404not_foundThe article or route doesn't exist.
429daily_limit_reachedFree plan only: you used 100 requests today (UTC). Resets at 00:00 UTC, or upgrade for unlimited.
429rate_limitedMore than 20 requests in one second from the same account. Back off for the Retry-After seconds.
500server_errorSomething broke on our side. Retry with backoff; we're alerted automatically.
503unavailableA dependency is temporarily down. Retry with backoff and check the status page.

What to retry

  • Retry with backoff: 429 rate_limited (honor Retry-After), 500, 502, 503, 504 and network errors. Use exponential backoff with jitter, starting around 1 second.
  • Don't retry: other 4xx errors. Fix the request, key or plan first.
  • Free plan: after 429 daily_limit_reached, wait until 00:00 UTC or upgrade.
retry helper
import random
import time

import requests


def get_with_retry(url, headers, params, attempts=5):
    for i in range(attempts):
        r = requests.get(url, headers=headers, params=params, timeout=10)
        if r.status_code == 429 or r.status_code >= 500:
            wait = float(r.headers.get("Retry-After", 2 ** i)) + random.random()
            time.sleep(wait)
            continue
        r.raise_for_status()
        return r.json()
    r.raise_for_status()