# Adopt AI Grand Palais 2025 - AI-Friendly API > REST API for the Adopt AI Grand Palais conference schedule > 240+ sessions • 200+ speakers • Nov 25-26, 2025 • Paris ## Base URL https://adoptai.codecrafter.fr ## Usage Instructions for AI Assistants This API is designed for AI assistants (Claude, ChatGPT, etc.) to help users navigate the Adopt AI Grand Palais conference. ### Query Processing Strategy 1. **Parse user intent** from natural language 2. **Construct API call** with appropriate filters 3. **Make request** to filtered endpoint 4. **Present results** in a helpful format ### Data Access Methods **Primary Method (Preferred): Direct API Access** If you can make HTTP requests (via WebFetch, browser tools, or other capabilities): - Use the API endpoints directly as documented above - This provides real-time filtered data and optimal performance - Example: Fetch https://adoptai.codecrafter.fr/sessions?search=banking **Fallback Method: User-Provided Data** If you cannot access external URLs (common limitation when URL is not provided by user or found via web search), use this fallback strategy: 1. **Explain the limitation** to the user clearly: "I don't have direct access to the API URL. To help you effectively, I need the complete dataset." 2. **Request the URLs or the data** from the user: "Please copy these URLs in the chat window, or visit these URLs and copy/paste the complete JSON response: - Sessions: https://adoptai.codecrafter.fr/sessions - Speakers: https://adoptai.codecrafter.fr/speakers - Ongoing sessions : https://adoptai.codecrafter.fr/now" 3. **Process the data** once provided: - Parse the JSON data the user provides - Apply filters and search logic locally - Present results in the same helpful format **Why this fallback works:** - You can access the URLs if given by the user - The full dataset is small enough to be copied/pasted (~500KB total) - Allows you to perform all filtering and analysis client-side - Ensures users still get comprehensive help even without direct API access - Sessions endpoint returns all 240+ sessions in a single request - Speakers endpoint returns all 200+ speakers in a single request **When to use each method:** - ✅ Use API directly: When you have URL access or user provides the API URL - ✅ Use fallback: When you cannot access external URLs independently - ❌ Never: Refuse to help or claim you cannot access the data ### Common Query Patterns **"What's happening right now?" / "What sessions are starting soon?"** → GET https://adoptai.codecrafter.fr/now Returns: - Sessions currently ongoing (started and not yet finished) - Sessions starting within the next 30 minutes Uses Paris timezone (Europe/Paris) **"Find sessions about [topic]"** → GET https://adoptai.codecrafter.fr/sessions?search=[topic] Example: "Find sessions about AI in banking" → GET https://adoptai.codecrafter.fr/sessions?search=banking **"What's happening on [date] [time]?"** → GET https://adoptai.codecrafter.fr/sessions?date=[date]&time=[morning/afternoon] Example: "What's on November 25 morning?" → GET https://adoptai.codecrafter.fr/sessions?date=2025-11-25&time=morning **"Who's speaking at [stage]?"** → GET https://adoptai.codecrafter.fr/sessions?stage=[stage] Example: "Who's at CEO Stage?" → GET https://adoptai.codecrafter.fr/sessions?stage=CEO%20Stage **"Find speakers from [company]"** → GET https://adoptai.codecrafter.fr/speakers?search=[company] Example: "Find speakers from Anthropic" → GET https://adoptai.codecrafter.fr/speakers?search=Anthropic **"Recommend sessions for [profile]"** → Multiple calls with different search terms Example: "Recommend for a fintech CTO" → GET https://adoptai.codecrafter.fr/sessions?search=finance → GET https://adoptai.codecrafter.fr/sessions?search=banking → GET https://adoptai.codecrafter.fr/sessions?search=cloud → Combine and rank results ### Time Conflict Detection When building schedules, always check for overlaps: 1. Parse time strings (format: "HH:MM-HH:MM") 2. Compare start/end times across selected sessions 3. Warn user about conflicts ### Best Practices - Use server-side filtering to reduce response size - Combine multiple filters for precise results - URL-encode query parameters (spaces → %20) - Cache responses when appropriate - Check `total` vs `count` to see filter effectiveness ### Response Handling - Empty results: Suggest broader search terms - Many results: Recommend adding more filters - Always cite specific session titles and times - Include speaker names when relevant ## Endpoints ### GET /sessions Returns conference sessions with server-side filtering. **Query Parameters:** - `date` (string): Filter by date - Values: "2025-11-25" or "2025-11-26" - Example: https://adoptai.codecrafter.fr/sessions?date=2025-11-25 - `stage` (string): Filter by stage name (exact match) - Values: "CEO Stage", "Mainstage South", "Mainstage North", "Mainstage East", "Masterclass South", "Masterclass North", "Startup Stage" - Example: https://adoptai.codecrafter.fr/sessions?stage=CEO%20Stage - `time` (string): Filter by time of day - Values: "morning" (before 12:00) or "afternoon" (12:00+) - Example: https://adoptai.codecrafter.fr/sessions?time=morning - `search` (string): Full-text search in title, description, speaker names, companies - Example: https://adoptai.codecrafter.fr/sessions?search=banking - Example: https://adoptai.codecrafter.fr/sessions?search=Anthropic **Combine filters:** https://adoptai.codecrafter.fr/sessions?date=2025-11-25&stage=CEO%20Stage&time=morning https://adoptai.codecrafter.fr/sessions?date=2025-11-25&search=finance **Response:** { "total": 240, "count": 5, "filters": {...}, "sessions": [ { "id": "...", "title": "...", "date": "Nov 25, 2025", "time": "9:30 AM - 10:00 AM", "stage": "CEO Stage", "speakers": [ { "name": "Philippe Aghion", "company": "Collège de France", "role": "2025 Nobel Prize in Economics" } ], "ecosystems": [...] } ] } ### GET /now Returns sessions happening now or starting soon (within 30 minutes). This endpoint uses Paris timezone (Europe/Paris) and provides real-time information. **No query parameters** **Example:** https://adoptai.codecrafter.fr/now **Response:** { "currentTime": "2025-11-25 10:15:00 CET", "ongoing": { "count": 3, "sessions": [ { "id": "...", "title": "Session currently happening", "date": "Nov 25, 2025", "time": "10:00 AM - 10:30 AM", "stage": "CEO Stage", "speakers": [...], "ecosystems": [...] } ] }, "upcoming": { "count": 5, "description": "Sessions starting within 30 minutes", "sessions": [ { "id": "...", "title": "Session starting soon", "date": "Nov 25, 2025", "time": "10:30 AM - 11:00 AM", "stage": "Mainstage South", "speakers": [...], "ecosystems": [...] } ] } } ### GET /speakers Returns all speakers with optional filtering. **Query Parameters:** - `search` (string): Search by name, company, or role - Example: https://adoptai.codecrafter.fr/speakers?search=Anthropic **Response:** { "count": 3, "speakers": [ { "name": "...", "company": "...", "role": "...", "bio": "...", "sessions": ["session_id_1", "session_id_2"] } ] } ### GET / or /llms.txt Returns this documentation. ### GET /health Health check endpoint. ## Rate Limits No rate limits currently. Please use responsibly. ## CORS Fully enabled. Safe to call from browsers and mobile apps. ## Data Freshness Data scraped from https://adoptai.artefact.com on November 19, 2025. Static snapshot - no real-time updates. ## About Built by Thomas Houssin (https://github.com/ThomasHoussin) because even AI summits should provide AI-readable data. The official Adopt AI Grand Palais website uses infinite-scroll JavaScript rendering, making it inaccessible to AI assistants. This API fixes that. ## Source Code https://github.com/ThomasHoussin/adoptai-api --- Adopt AI... but make it actually adoptable by AI" 🤖 Built with ❤️ and irony: an AI summit without AI-readable data.