POST /api/investing/quotes
Price: 10 credits
Get a market quote for an instrument by alias, section path, or URL
Get a real-time market quote for any Investing.com instrument (stock, index, ETF, currency, crypto, commodity, bond) by its alias, section path, or URL. Returns price, day open/high/low, change, previous close, 52-week range, volume, pre-market and after-hours prices, multi-horizon return percentages (1d/1w/1m/3m/6m/ytd/1y/3y/5y/all-time), exchange, currency, and fundamentals (market cap, EPS, P/E, dividend, yield, shares outstanding, beta, next earnings date).
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)quote string required — Instrument to look up: a ticker symbol or name ('AAPL', 'Bitcoin'), a section path ('/equities/apple-computer-inc'), or a full instrument URL. Works for stocks, indices, ETFs, currencies, crypto, commodities and bonds. (examples: "AAPL", "/indices/us-spx-500", "https://www.investing.com/crypto/bitcoin"; minLength: 1)@type string (default: "InvestingQuote")id integer requiredalias string requiredpath string requiredsymbol string nullablename string nullabletype string nullableis_open boolean nullablecurrency string nullableexchange string nullableexchange_full_name string nullablemarket_name string nullablecountry_flag string nullableimage string nullablelast number nullableopen number nullablehigh number nullablelow number nullableprevious_close number nullablechange number nullablechange_percent number nullablebid number nullableask number nullablevolume integer nullableaverage_volume integer nullablefifty_two_week_high number nullablefifty_two_week_low number nullableone_year_change number nullablepremarket_price number nullablepremarket_change number nullablepremarket_change_percent number nullableafter_hours_price number nullableafter_hours_change number nullableafter_hours_change_percent number nullableextended_hours_session string nullablelast_update_at integer nullablemarket_cap integer nullableeps number nullablepe_ratio number nullabledividend number nullabledividend_yield number nullablerevenue integer nullableshares_outstanding integer nullablebeta number nullablenext_earnings_date string nullableisin string nullableticker string nullablecomponents_count integer nullablerank integer nullableavailable_supply number nullablemax_supply number nullableprice_usd number nullablevolume_24h number nullablepercent_change_7d number nullableprice_changes object nullable@type string (default: "InvestingPriceChange")one_day number nullableone_week number nullableone_month number nullablethree_month number nullablesix_month number nullableytd number nullableone_year number nullablethree_year number nullablefive_year number nullableall_time number nullabletechnical_summary object nullable@type string (default: "InvestingTechnicalSummary")five_min string nullablefifteen_min string nullablethirty_min string nullableone_hour string nullablefive_hour string nullabledaily string nullableweekly string nullablemonthly string nullableurl string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — Instrument not found Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.