Confex APIconfex.com ↗
Access Confex-hosted conference schedules, paper abstracts, presenter profiles, and session data across meetings with 12 structured endpoints.
What is the Confex API?
The Confex API provides structured access to conference data across Confex-hosted meeting apps through 12 endpoints covering schedules, sessions, papers, and people. Starting with get_meeting_home, you can retrieve a meeting's title, dates, timezone, and navigation modules, then traverse to session listings, individual paper abstracts, presenter profiles, and day-by-day slot data. Both meeting_code and organization parameters are required on most endpoints to scope requests to the correct conference.
curl -X GET 'https://api.parse.bot/scraper/33f46ed7-4974-46d7-8807-2c33b3f3ac3e/get_meeting_home?meeting_code=105ANNUAL&organization=ams' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace confex-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Confex Conference API — browse meetings, search papers, explore sessions."""
from parse_apis.confex_conference_api import Confex, Letter, MeetingCode, Organization, MeetingNotFound
client = Confex()
# List available meetings for the AMS organization
for meeting in client.availablemeetings.list(organization="ams", limit=3):
print(meeting.title, meeting.dates, meeting.location)
# List programs (conferences/symposia) within a meeting
program = client.programs.list(meeting_code="105ANNUAL", organization="ams", limit=1).first()
if program:
print(program.title, program.program_code)
# Drill into sessions for this program
for session in program.sessions.list(meeting_code="105ANNUAL", organization="ams", limit=3):
print(session.title, session.sortable_time)
# Search across all meeting content
result = client.searchresults.search(query="climate", meeting_code="105ANNUAL", organization="ams", limit=1).first()
if result:
print(result.title, result.presenting_author)
# List people whose last name starts with a given letter
for person in client.people.list(meeting_code="105ANNUAL", organization="ams", letter=Letter.B, limit=3):
print(person.first_name, person.last_name, person.affiliation)
# Browse the calendar — list days for a meeting
for day in client.days.list(meeting_code="105ANNUAL", organization="ams", limit=3):
print(day.id, day.date)
# Typed error handling
try:
client.sessions.by_day(day_id="9999-01-01", meeting_code="105ANNUAL", organization="ams", limit=1).first()
except MeetingNotFound as exc:
print(f"Not found: {exc}")
print("exercised: availablemeetings.list / programs.list / sessions.list / searchresults.search / people.list / days.list / sessions.by_day")
Retrieve the home/welcome page for a specific meeting. Returns meeting name, dates, location, timezone, and available navigation modules. The ChildList_Module array provides paths to other modules accessible via get_module_data.
| Param | Type | Description |
|---|---|---|
| meeting_coderequired | string | Meeting code identifying the conference (e.g. '105ANNUAL', '107ANNUAL'). |
| organizationrequired | string | Organization subdomain used in the Confex URL (e.g. 'ams'). |
{
"type": "object",
"fields": {
"id": "string, module identifier",
"label": "string, entity type label",
"TimeZone": "string, IANA timezone identifier",
"MeetingTitle": "string, full title of the meeting",
"ChildList_Module": "array of module path references available for this meeting",
"Meeting_MeetingEnd": "string, meeting end date YYYY-MM-DD",
"Meeting_MeetingStart": "string, meeting start date YYYY-MM-DD"
},
"sample": {
"data": {
"id": "0",
"label": "Home",
"TimeZone": "America/Chicago",
"MeetingTitle": "105th AMS Annual Meeting",
"ChildList_Module": [
"ModuleProgramBook/0",
"ModuleSessionsByDay/0",
"ListItem/Nav_SearchPeople_0"
],
"Meeting_MeetingEnd": "2025-01-16",
"Meeting_MeetingStart": "2025-01-12"
},
"status": "success"
}
}About the Confex API
Meeting Structure and Navigation
Every request scopes to a specific meeting using two required parameters: meeting_code (e.g. '105ANNUAL') and organization (e.g. 'ams'). get_meeting_home returns the MeetingTitle, Meeting_MeetingStart, Meeting_MeetingEnd, TimeZone (IANA format), and a ChildList_Module array listing module path references. Those module paths feed directly into get_module_data, which retrieves arbitrary Confex modules by their path string and returns NavBarTitle and child references. list_available_meetings requires only the organization subdomain and returns an array of all active meetings with titles, codes, dates, locations, and URLs.
Programs, Sessions, and Papers
list_conferences_and_symposia returns every program under a meeting as an array of objects containing Title, ProgramCode, and ChildList_Session references. From there, get_conference_program takes a program_id and returns sessions with SortableTimeString, GoodType, and ChildList_Paper arrays. get_session_details resolves a confex_session_id into full session metadata plus a papers array where each entry includes Title, Abstract, and PresentingAuthor. Individual papers can be fetched with get_paper_details using a paper_id; note that the Abstract field may be empty for non-paper entry types such as breaks or administrative slots.
Calendar and Day-Based Browsing
get_meeting_calendar returns an array of day objects keyed by YYYY-MM-DD date strings, each with ChildList_SlotData references. Passing a day_id from those results to get_sessions_by_day yields slot-level detail: Entry_Title, Slot_Date, Slot_StartTime, Slot_EndTime, and the associated Session_id. This makes it straightforward to build a room-by-room or hour-by-hour view of any conference day.
People and Search
get_people pages presenter and chair listings alphabetically by last name initial using the optional letter parameter (A–Z, defaulting to A). Each person object includes FirstName, LastName, and Affiliation. get_person_details resolves a person_id into a full profile with RoleFlags, MembershipStatus, and institutional affiliation. search_meeting accepts a free-text query and returns paginated results (page, total, ChildList_Hits) mixing Paper, Session, and Person entry types.
The Confex API is a managed, monitored endpoint for confex.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when confex.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official confex.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a conference agenda app displaying day-by-day session slots from
get_sessions_by_daywith room and time data - Index paper abstracts from
get_paper_detailsto make conference proceedings full-text searchable - Generate a speaker directory by combining
get_peoplealphabetical pages withget_person_detailsaffiliation and role data - Track which symposia belong to a multi-track meeting using
list_conferences_and_symposiaprogram codes - Monitor schedule changes across multiple Confex-hosted annual meetings using
list_available_meetingsandget_meeting_calendar - Keyword-search a specific meeting's sessions and papers via
search_meetingto surface relevant presentations by topic - Export session-to-presenter mappings by chaining
get_conference_program,get_session_details, andget_paper_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Confex provide an official public developer API?+
How does `get_paper_details` handle non-presentation entries like breaks or business meetings?+
GoodType field identifies the entry type. For non-paper entries such as breaks, the Abstract field will be present in the response but empty. The Title and GoodType fields are still populated, so you can filter client-side by GoodType to separate actual paper presentations from administrative schedule entries.Does the API cover all Confex-hosted organizations, or only specific ones?+
organization subdomain, so it works across any Confex-hosted organization you supply. list_available_meetings will return the active meetings for whichever organization subdomain you pass. Coverage depends on the meetings actively hosted on that subdomain at the time of the request.Does the API return registration, ticketing, or attendee count data?+
Can I retrieve the full presenter list for a meeting without iterating through all 26 letters in `get_people`?+
get_people filters by a single last-name initial letter per request, so retrieving the complete list requires 26 calls (A–Z). There is no bulk-export endpoint for people. You can fork this API on Parse and revise it to add a combined endpoint if that workflow matters for your use case.