API: Access your data from code

Sessionize offers several ways of API integration to users who want to access their event's data from code

Your developers can utilize our API to obtain read-only data access to your event's data. You can use the data from the server or client side, whichever suits you better.

Here's what you should know about our API.

What formats are available?

We offer read-only data in JSON and XML formats. 

The iCalendar format is also available, but it has limited capabilities (only basic session info is available).

How to create an endpoint for my event?

Go to your event's API / Embed page and create a new endpoint. Set the format to be either JSON or XML. 

After creating the endpoint, you'll get a unique ID that enables you to access the data.

To see the full URLs of your endpoint, click on the </> Get Code button.

What data is available?

You can access sessions, speakers, and room data for each event and the relation between them. 

  • With sessions, you can also have custom fields you defined for your event (categories, tags, questions, files, etc.)
  • With speakers, you can get all of their custom fields, as well as additional links (such as Twitter profile, blog, company, etc.)

Custom fields for sessions and speakers are not enabled by default. You have to enable them for your specific endpoint. This is done by accessing the desired endpoint on the API / Embed page.

What about authentication?

To keep the API simple and easy to use, we have designed it to allow access without requiring authentication. This enables seamless integration with client libraries and simplifies server-side usage.

However, it's important to note that this approach is feasible because the data being accessed is essentially an event schedule, which is typically shared publicly on the event website. Additionally, you have full control over which data is exposed through the endpoint. By default, custom fields — where sensitive data might be stored — are turned off to prevent unintentional exposure.

For enhanced security, please consider the following precautions:

  • Limit public exposure: If you require your data to remain private, avoid accessing the API endpoints from client-side applications, as this could expose your endpoint URL and data to unauthorized parties.
  • Keep your endpoint URL confidential: Treat your endpoint URL as sensitive information. Do not share it publicly or in any context where it could be exposed to unauthorized users.
  • Review data exposure: Audit the data exposed through your endpoints to ensure that no sensitive information is inadvertently shared. Turn off access to any custom fields that are not essential for public use.

What does the JSON look like?

You can retrieve all data at once or use one of the predefined views. Here is what the JSON looks like:

The data behind the links above are from our demo event. Feel free to use the links for development and testing purposes.

How to test with my own data?

The best way to explore the API is to create a test event and try everything firsthand. That way you can create your own custom fields, explore different endpoint settings, and simulate edge cases.

Alternatively, and maybe even more convenient, is to create a test endpoint on the “real” event. That way you'll get access to the real data, and – since the API is read-only – you cannot do any harm to your data. 

Do I have to cache data locally?

You can, but you don't have to - we're caching it on our side.

Troubleshooting

Troubleshooting I don't see sessions or speakers Please check the Includes sessio

Troubleshooting

I don't see sessions or speakers.

Please check the Includes sessions option. By default, this option shows only accepted sessions whose speakers have been informed of being accepted. 

If you don't want to inform your speakers about their sessions being accepted, you can switch to Accepted mode.

I don't see rooms and times.

Please check the Schedule announced option on Announce schedule page. When this option is turned off, session times and rooms are hidden. 

Don't want to announce the schedule just yet?

This option can be overridden. In other words, you can allow the schedule to be shown on a certain endpoint without announcing it on an event level. Please note that this should only be used for testing and development purposes.

 
 

I made a change, but it doesn't show.

All embed and API requests are cached for up to five minutes. You can clear the cache manually on the Get Code page, accessed through the API / Embed page. If you still don't see the update you're expecting, it may be because of your browser's local cache. In that case, clear the browser cache.

Related articles