Skip to main content

Sources Best Practices

Emy Thornton avatar
Written by Emy Thornton
Updated over 4 months ago

What is a Source?

A source is either a webpage or an event feed that we can automatically pull events from and add to our calendars.

What we need from you:

We need the URL of the events page of the site you would like us to pull from.

Good vs bad sources:

  • Content: We need at least 3 things in the data to pull the event: Title, Date and City. These need to be exact and have their own fields (ie can't show up in desc). If the event just lists the day of the week, eg "Every Thurs"; or it has especially large date ranges with occurrences every day (exhibition that says May-Aug), then we can't get these.

  • Types of calendars: iCal, RSS, Google Cal and JSON (API) are generally more successful/reliable than parsing a site's HTML, and we can get them most of the time.

  • Types of sites: We can get almost all Squarespace calendars. We can't get most Wix sites. As of right now, we can't get events on social media sites like Instagram or Meetup. We can get Facebook events as of right now. If any update is made to Facebook, that may change. If a site uses Cloudflare or another service that blocks crawlers (this can be seen on dev console in browser), then we can't parse it.

  • HTML: HTML sources must have unique css selector for each piece of event data. If all the events are listed in paragraphs and breaks in the HTML like a word doc, then these will be rejected for "unstructured HTML". If vital event info is listed in images or pdfs, then we can't get the source.

  • JavaScript: Some sites rely heavily on JavaScript to function. You can toggle JS on/off in the dev console; if the calendar disappears when JS is off, then it relies on JS. We sometimes can run these in a virtual browser to get the events, but if there are JavaScript functions on the page that rely on user interaction (like changing the month or a lazyload), then we will only be able to get the events on the page when it initially loads. If the it's a JavaScript calendar widget that relies on pop-ups to display most of the event info, then the vast majority of the time we can't get these. If the calendar or event page is embedded in an iframe (ie Trumba, Timely), then we will only be able to get it if the site grants permission to access the embedded link, which isn't always the case.

  • Competitors: We won't pull a site if it's a potential competitor (All Events In, Evvnt) or a potential customer (News media site)

Examples of sites we can usually get:

Did this answer your question?