Luma 数据接口手册(可复现本库活动数据)
本库活动数据不是手工整理的,而是通过 Luma 公开接口批量抓取的。本页公开全部端点、参数和 13+ 个法国科技日历的 API ID——你(或你付费的维护者)可以随时复现、更新、扩展这张活动表。
TL;DR
- 两个核心公开端点:发现流(
/discover/get-paginated-events,按城市拉取)+ 日历条目(/calendar/get-items,按日历拉取),无需登录、无需 API Key;
- 城市页的
discover_place_api_id可以在浏览器 Network 面板里看到(本库已附巴黎的);
- 每个日历的
calendar_api_id打开该日历页面源码搜索cal-即得(本库已附 13 个);
- 抓取脚本见文末,Python 十几行即可跑通;仅抓公开数据、控制频率。
端点一:城市发现流(以巴黎为例)
GET https://api.luma.com/discover/get-paginated-events
?discover_place_api_id=discplace-NdLrh1xJfeotJZC ← 巴黎
&pagination_limit=25
&pagination_cursor=<上一页返回的 next_cursor,首页不传>
- 返回
{entries, has_more, next_cursor},循环带 cursor 直到has_more=false(巴黎当前约 40 个未来活动);
- 每个 entry 含:
event.name / start_at / end_at / timezone / url / geo_address_info(city, address) / location_type,外层有hosts、guest_count、calendar;
- 其他城市:打开
luma.com/<城市名>,在 Network 面板找discover_place_api_id即可(里昂、波尔多等同理)。
端点二:单个日历的未来活动
GET https://api.luma.com/calendar/get-items
?calendar_api_id=cal-XXXXXXXXXXXXXX
&period=future
&order=ASC
&limit=50
- 返回结构与端点一类似;
period可选future / past;
- 找
calendar_api_id:浏览器打开日历页(如luma.com/stationf)→ 查看源码 → 搜索cal-。
法国科技日历 API ID 对照表(2026-09-19 实测)
| 日历/社区 | 入口 | calendar_api_id | 未来活动数(抓取日) |
|---|---|---|---|
| AI Engineer Paris | luma.com/ai-engineer-paris-2026 | cal-mmnYmrfNgxGdvQb | 15 |
| Epop&(影响力创业者社区) | luma.com/uagixopc | cal-EsAIRT2hTinLRFD | 10 |
| Dust(AI Agent 公司) | luma.com/dust-0vjt | cal-SwHrfSaaRPdwqZ3 | 9 |
| Hexa(原 eFounders,创业工作室) | luma.com/hexa-tnbj | cal-v1gaUIroyMZE7bW | 5 |
| Langfuse | luma.com/langfuse-umkb | cal-KI9FVvGbV9LMK3g | 6(多在海外场) |
| five degrees(创始人路演) | luma.com/th4j2aad | cal-xvZHN4RFtr0UwR6 | 4(欧洲多城) |
| Monetizing AI Agents | luma.com/monetizing-agents | cal-lfZsS1HrTbRIiTk | 4(多在海外场) |
| Air Street Capital(State of AI) | luma.com/airstreet | cal-zUWmkxeBGlQQenp | 3 |
| OpenAI Builder Lounge(巴黎/慕尼黑) | luma.com/qfcsoul6 | cal-WuC7fwXvvdeFd3N | 2 |
| H Company / Modal / BFL Warmup 系列 | luma.com/drd77d1r | cal-5T3F81Hsbssln0s | 2 |
| ElevenCreative / Théâtre de l'IA | luma.com/s9txquhe | cal-BJSNDP6pftcdd8A | 1 |
| Context is King(AI Agent 社区) | luma.com/context-vk3v | cal-Bk4k47GV7m5bbsV | 1 |
| HubSpot for Startups Paris | luma.com/kglpewov | cal-1VCuNsqGeL4C5fA | 1 |
| Station F Founders Club | luma.com/stationf | cal-v9JqMhASo1Z3q9E | 0(仅存过去活动,新活动在 stationf.co/events) |
| Hugging Face | luma.com/huggingface | cal-BHCbNUcyZTBdvrw | 0 |
| Kryptosphere | luma.com/kryptosphere | cal-098AwKOPKgqH6Mw | 0 |
注意:日历会换壳(slug 变了 ID 不变,反之亦然),每次更新前先重新解析一遍 ID(方法如上)。efparis(Entrepreneur First 巴黎)已 404 下线。
复现脚本(Python,十几行)
import requests, time
PLACE_PARIS = "discplace-NdLrh1xJfeotJZC" # 巴黎
CAL_IDS = { # 从上表挑你要的
"aiengineer": "cal-mmnYmrfNgxGdvQb",
"hexa": "cal-v1gaUIroyMZE7bW",
# ...
}
H = {"accept": "application/json"}
events = []
# 1) 巴黎发现流(分页)
cursor = None
while True:
u = (f"https://api.luma.com/discover/get-paginated-events"
f"?discover_place_api_id={PLACE_PARIS}&pagination_limit=25")
if cursor:
u += "&pagination_cursor=" + cursor
j = requests.get(u, headers=H).json()
events += j.get("entries", [])
if not j.get("has_more"): break
cursor = j["next_cursor"]; time.sleep(0.5)
# 2) 各日历未来活动
for name, cal in CAL_IDS.items():
j = requests.get(
f"https://api.luma.com/calendar/get-items?calendar_api_id={cal}"
f"&period=future&order=ASC&limit=50", headers=H).json()
events += j.get("entries", [])
time.sleep(0.3)
# 去重(按活动 url)
uniq = {e["event"]["url"]: e for e in events if e.get("event")}
print(len(uniq), "个未来活动")
使用边界(务必遵守)
- 只抓公开数据、只在更新时低频调用(每周一次足够);不要高频轮询或抓取非公开信息;
- 接口是 Luma 面向自家前端的公开端点,没有稳定性承诺:若失效,回退方案是直接解析
luma.com/<日历>页面 HTML 或使用日历的 ICS 订阅(见更新指南);
- 活动数据版权归活动主办方与 Luma,本库仅作信息聚合引用;对外分发时保留来源与链接。
数据截至:2026-09-19
欧洲创业知识库 v2.7 · 🇫🇷 FRANCE · 数据截至 2026-09-21 · 内容仅供信息参考,不构成法律、税务或投资建议 · 转载请注明出处