{"openapi":"3.1.0","info":{"title":"Euronext Paris (CAC 40) API","version":"1.0.0","description":"Live French equity data from Euronext Paris: real-time quotes for any listed stock by ticker (price, % change, intraday OHLC, volume, market cap in EUR), a ranking screener for gainers, losers, most-active and top market-cap local primary listings, and the Paris index family (CAC 40, SBF 120 and CAC All-Tradable). Foreign depositary receipts are filtered out so you get only genuine French companies such as LVMH, L'Oreal, Hermes, TotalEnergies and Schneider Electric.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/france-stock-api","description":"oanor gateway"}],"tags":[{"name":"Quotes"},{"name":"Screener"},{"name":"Indices"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/quote":{"get":{"operationId":"get_v1_quote","tags":["Quotes"],"summary":"Live quote for one or more Paris stocks","description":"","parameters":[{"name":"symbols","in":"query","required":true,"description":"Comma-separated Paris tickers (up to 20)","schema":{"type":"string"},"example":"MC,OR,TTE"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":3,"market":"EPA","quotes":[{"low":501.1,"high":521.2,"last":510.6,"name":"LVMH Moet Hennessy Louis Vuitton SE","open":508,"pe_ttm":23.3575,"sector":"Consumer Non-Durables","symbol":"MC","ticker":"EURONEXT:MC","volume":930219,"currency":"EUR","change_abs":17.4,"change_pct":3.528,"market_cap":252856203608},{"low":386.3,"high":394.25,"last":390.25,"name":"L'Oreal S.A.","open":388.2,"pe_ttm":34.0982,"sector":"Consumer Non-Durables","symbol":"OR","ticker":"EURONEXT:OR","volume":472567,"currency":"EUR","change_abs":6.95,"change_pct":1.8132,"market_cap":207780137711},{"low":74.48,"high":76.51,"last":76.38,"name":"TotalEnergies SE","open":75.79,"pe_ttm":12.859,"sector":"Energy Minerals","symbol":"TTE","ticker":"EURONEXT:TTE","volume":5078966,"currency":"EUR","change_abs":-1.62,"change_pct":-2.0769,"market_cap":170070692937}]},"meta":{"timestamp":"2026-06-15T02:09:55.521Z","request_id":"1d6c0726-0dc0-48c6-8dbe-b215b570ccce"},"status":"ok","message":"Quote retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/screener":{"get":{"operationId":"get_v1_screener","tags":["Screener"],"summary":"Rank local primary listings","description":"","parameters":[{"name":"sort","in":"query","required":false,"description":"Sort field: market_cap, change or volume","schema":{"type":"string"},"example":"market_cap"},{"name":"order","in":"query","required":false,"description":"asc or desc","schema":{"type":"string"},"example":"desc"},{"name":"limit","in":"query","required":false,"description":"Number of results (1-100)","schema":{"type":"string"},"example":"25"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"sort":"market_cap","count":25,"order":"desc","market":"EPA","results":[{"low":501.1,"high":521.2,"last":510.6,"name":"LVMH Moet Hennessy Louis Vuitton SE","open":508,"pe_ttm":23.3575,"sector":"Consumer Non-Durables","symbol":"MC","ticker":"EURONEXT:MC","volume":930219,"currency":"EUR","change_abs":17.4,"change_pct":3.528,"market_cap":252856203608},{"low":386.3,"high":394.25,"last":390.25,"name":"L'Oreal S.A.","open":388.2,"pe_ttm":34.0982,"sector":"Consumer Non-Durables","symbol":"OR","ticker":"EURONEXT:OR","volume":472567,"currency":"EUR","change_abs":6.95,"change_pct":1.8132,"market_cap":207780137711},{"low":1676,"high":1739,"last":1697,"name":"Hermes International SCA","open":1680.5,"pe_ttm":39.4004,"sector":"Consumer Non-Durables","symbol":"RMS","ticker":"EURONEXT:RMS","volume":126690,"currency":"EUR","change_abs":54,"change_pct":3.2867,"market_cap":177580254723},{"low":74.48,"high":76.51,"last":76.38,"name":"TotalEnergies SE","open":75.79,"pe_ttm":12.859,"sector":"Energy Minerals","symbol":"TTE","ticker":"EURONEXT:TTE","volume":5078966,"currency":"EUR","change_abs":-1.62,"change_pct":-2.0769,"market_cap":170070692937},{"low":263.3,"high":271.2,"last":265.3,"name":"Schneider Electric SE","open":270.95,"pe_ttm":36.3579,"sector":"Producer Manufacturing","symbol":"SU","ticker":"EURONEXT:SU","volume":990380,"currency":"EUR","change_abs":1,"change_pct":0.3784,"market_cap":149424081119},{"low":177.78,"high":183.72,"last":179.28,"name":"Airbus SE","open":180.62,"pe_ttm":28.2602,"sector":"Electronic Technology","symbol":"AIR","ticker":"EURONEXT:AIR","volume":1384413,"currency":"EUR","change_abs":4.02,"change_pct":2.2937,"market_cap":141134261666},{"low":302.1,"high":312.3,"last":306.1,"name":"Safran SA","open":306.6,"pe_ttm":17.8227,"sector":"Electronic Technology","symbol":"SAF","ticker":"EURONEXT:SAF","volume":858930,"currency":"EUR","change_abs":10.8,"change_pct":3.6573,"market_cap":127617443783},{"low":164.8,"high":168.38,"last":168.3,"name":"Air Liquide SA","open":165.8,"pe_ttm":30.4246,"sector":"Process Industries","symbol":"AI","ticker":"EURONEXT:AI","volume":1024317,"currency":"EUR","change_abs":3.28,"change_pct":1.9876,"market_cap":107194405484},{"low":94.6,"high":97.05,"last":96.69,"name":"BNP Paribas S.A. Class A","open":94.96,"pe_ttm":9.3961,"sector":"Finance","symbol":"BNP","ticker":"EURONEXT:BNP","volume":3251218,"currency":"EUR","change_abs":4.75,"change_pct":5.1664,"market_cap":106808625360},{"low":75.56,"high":76.89,"last":76.59,"name":"Sanofi SA","open":76.12,"pe_ttm":17.9992,"sector":"Health Technology","symbol":"SAN","ticker":"EURONEXT:SAN","volume":2580601,"currency":"EUR","change_abs":0.29,"change_pct":0.3801,"market_cap":92355942371},{"low":469.4,"high":482.8,"last":474.8,"name":"Christian Dior SE","open":472,"pe_ttm":18.9135,"sector":"Consumer Non-Durables","symbol":"CDI","ticker":"EURONEXT:CDI","volume":9521,"currency":"EUR","change_abs":15,"change_pct":3.2623,"market_cap":85658942842},{"low":180.3,"high":187.8,"last":182.7,"name":"EssilorLuxottica SA","open":181.85,"pe_ttm":36.672,"sector":"Health Technology","symbol":"EL","ticker":"EURONEXT:EL","volume":1013524,"currency":"EUR","change_abs":3.95,"change_pct":2.2098,"market_cap":84598333691},{"low":40.65,"high":41.06,"last":40.86,"name":"AXA SA","open":40.78,"pe_ttm":9.0187,"sector":"Finance","symbol":"CS","ticker":"EURONEXT:CS","volume":4176531,"currency":"EUR","change_abs":0.39,"change_pct":0.9637,"market_cap":84101063888},{"low":125.05,"high":127.3,"last":125.9,"name":"VINCI SA","open":125.55,"pe_ttm":14.561,"sector":"Industrial Services","symbol":"DG","ticker":"EURONEXT:DG","volume":1023968,"currency":"EUR","change_abs":2.55,"change_pct":2.0673,"market_cap":70729843203},{"low":27.18,"high":27.61,"last":27.51,"name":"ENGIE S.A.","open":27.45,"pe_ttm":18.2234,"sector":"Utilities","symbol":"ENGI","ticker":"EURONEXT:ENGI","volume":3080677,"currency":"EUR","change_abs":0.1,"change_pct":0.3648,"market_cap":69561581060},{"low":64.74,"high":67.75,"last":67.75,"name":"STMicroelectronics NV","open":66.3,"pe_ttm":518.7596,"sector":"Electronic Technology","symbol":"STMPA","ticker":"EURONEXT:STMPA","volume":3450494,"currency":"EUR","change_abs":2.9,"change_pct":4.4719,"market_cap":60464168063},{"low":16.465,"high":16.8,"last":16.725,"name":"Credit Agricole SA","open":16.58,"pe_ttm":7.4585,"sector":"Finance","symbol":"ACA","ticker":"EURONEXT:ACA","volume":8929225,"currency":"EUR","change_abs":0.48,"change_pct":2.9548,"market_cap":50589345063},{"low":232.6,"high":240.1,"last":234.7,"name":"Thales SA","open":240,"pe_ttm":28.8563,"sector":"Electronic Technology","symbol":"HO","ticker":"EURONEXT:HO","volume":227157,"currency":"EUR","change_abs":-3.1,"change_pct":-1.3036,"market_cap":48235300851},{"low":17.455,"high":17.845,"last":17.835,"name":"Orange SA","open":17.725,"pe_ttm":88.1176,"sector":"Communications","symbol":"ORA","ticker":"EURONEXT:ORA","volume":4881240,"currency":"EUR","change_abs":0.075,"change_pct":0.4223,"market_cap":47421368468},{"low":71.21,"high":73.75,"last":73.4,"name":"Societe Generale S.A. Class A","open":71.24,"pe_ttm":10.7862,"sector":"Finance","symbol":"GLE","ticker":"EURONEXT:GLE","volume":2511258,"currency":"EUR","change_abs":4.25,"change_pct":6.1461,"market_cap":46981202234},{"low":65.95,"high":67.22,"last":67.18,"name":"Danone SA","open":66.08,"pe_ttm":23.8659,"sector":"Consumer Non-Durables","symbol":"BN","ticker":"EURONEXT:BN","volume":1524353,"currency":"EUR","change_abs":1.18,"change_pct":1.7879,"market_cap":43447070164},{"low":75.1,"high":77.66,"last":75.76,"name":"Compagnie de Saint-Gobain SA","open":75.14,"pe_ttm":13.0964,"sector":"Producer Manufacturing","symbol":"SGO","ticker":"EURONEXT:SGO","volume":1666614,"currency":"EUR","change_abs":2.48,"change_pct":3.3843,"market_cap":37386527585},{"low":132.9,"high":136.8,"last":133.55,"name":"Legrand SA","open":135.9,"pe_ttm":27.6822,"sector":"Electronic Technology","symbol":"LR","ticker":"EURONEXT:LR","volume":812190,"currency":"EUR","change_abs":-0.2,"change_pct":-0.1495,"market_cap":34941124042},{"low":266.2,"high":276.25,"last":268.35,"name":"Kering SA","open":268,"pe_ttm":458.5612,"sector":"Consumer Non-Durables","symbol":"KER","ticker":"EURONEXT:KER","volume":462393,"currency":"EUR","change_abs":9.15,"change_pct":3.5301,"market_cap":32896203232},{"low":35.19,"high":35.65,"last":35.46,"name":"Veolia Environnement SA","open":35.6,"pe_ttm":21.328,"sector":"Utilities","symbol":"VIE","ticker":"EURONEXT:VIE","volume":1473412,"currency":"EUR","change_abs":0.26,"change_pct":0.7386,"market_cap":25953501006}]},"meta":{"timestamp":"2026-06-15T02:09:55.713Z","request_id":"e4f5c43e-a0ab-42e9-8bb6-199c8b99d7fe"},"status":"ok","message":"Screener retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/index":{"get":{"operationId":"get_v1_index","tags":["Indices"],"summary":"Paris index family (CAC 40, SBF 120, CAC All-Tradable)","description":"","parameters":[{"name":"symbol","in":"query","required":false,"description":"Optional specific index symbol(s)","schema":{"type":"string"},"example":"PX1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":1,"market":"EPA","indices":[{"low":8302.69,"high":8397.63,"name":"CAC 40 Index","open":8315.31,"index":"PX1","label":"CAC 40","value":8350.87,"change_abs":150.07,"change_pct":1.8299}]},"meta":{"timestamp":"2026-06-15T02:09:56.028Z","request_id":"32e23048-94bb-4c8e-8ac8-d45d69bdb2ee"},"status":"ok","message":"Index retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Market metadata & endpoint guide","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"market":"Euronext Paris","source":"TradingView screener (france market), keyless","country":"France","indices":["PX1","PX4","CACT"],"currency":"EUR","examples":{"index":"/v1/index","quote":"/v1/quote?symbols=MC,OR,TTE","screener":"/v1/screener?sort=change&order=desc&limit=10"},"endpoints":{"/v1/index":"Paris index family (CAC 40 = PX1, SBF 120 = PX4, CAC All-Tradable = CACT)","/v1/quote":"live quote for one or more Paris stocks by ticker (symbols=MC,OR,TTE)","/v1/screener":"rank local primary listings by market_cap | change | volume (sort, order, limit)"},"cache_ttl_ms":20000},"meta":{"timestamp":"2026-06-15T02:09:56.113Z","request_id":"bfa53275-4ae1-401c-b0fb-28343eb4f5cd"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":2000,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":1310,"monthly_call_quota":52000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3830,"monthly_call_quota":205000,"rps_limit":15,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":8210,"monthly_call_quota":810000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/france-stock-api"}