Event

Automatically extracts dates, location and address information, images and event descriptions from event pages.

📘

Event API is in Beta

Please use with the understanding that parameters and response data formats may change to support usage feedback.

The Event API returns information on an event like a webinar, meetup, etc. and can be used to extract clean event details, text descriptions and other data from online and in-person event pages for standalone events held within a single day.

Most popular event aggregation sites are supported, but the Event API is a new release so please make sure to report any bugs you find to [email protected].

Support for multi-day, multi-track events (i.e. full conference schedules and festivals), is planned but not yet supported.

Test drive Event API without a trial token at diffbot.com/testdrive.

Response

The Event API returns data in JSON format.

Each response includes a request object (which returns request-specific metadata), and an objects array, which will include the extracted information for all objects on a submitted page.

Objects in the Event API's objects array will include the following fields:

FieldDescription
typeType of object (always event).
pageUrlURL of submitted page / page from which the event is extracted.
resolvedPageUrlReturned if the pageUrl redirects to another URL.
titleTitle of the event.
startDateStart date of extracted event in GMT, normalized in most cases to RFC 1123 (HTTP/1.1). If no start time was found, the time is midnight.
endDateEnd date of extracted event in GMT, normalized in most cases to RFC 1123 (HTTP/1.1). If no end time was found, the time is midnight.
startDateLocalTimezoneStart date of extracted event in the local timezone as deplayed on the page. If no start time was found, the time is midnight.
endDateLocalTimezoneEnd date of extracted eventin the local timezone as deplayed on the page. If no start time was found, the time is midnight.
timezoneOffsetGMT offset in hours and minutes.
descriptionText description, if available, of the event.
venueThe name of the venue, if available.
locationParsed location information, if a parsable location was found.
countryCountry name.
isCurrentReturns true if the address is current.
addressThe complete location address as a normalized string.
cityCity name.
streetStreet address.
subregionSubregion of the city or area, such as a county.
latitudeLatitude of the geographic coordinate of the address.
longitudeLongitude of the geographic coordinate of the address.
postalCodePostal code.
regionRegion, such as a state or province.
precisionThe scale of the area described by the address. More specific addresses describe a smaller area and will have a lower value.
imagesArray of images, if present within the event page.
urlFully resolved link to image. If the image SRC is encoded as base64 data, the complete data URI will be returned.
titleDescription or caption of the image.
heightHeight of image as (re-)sized via browser/CSS.
widthWidth of image as (re-)sized via browser/CSS.
naturalHeightRaw image height, in pixels.
naturalWidthRaw image width, in pixels.
primaryReturns true if image is identified as primary based on visual analysis.
xpathXPath expression identifying the image node.
diffbotUriInternal ID used for indexing.
humanLanguageReturns the (spoken/human) language of the submitted page, using two-letter ISO 639-1 nomenclature.
metaReturns a top-level object (meta) containing the full contents of page meta tags, including sub-arrays for OpenGraph tags, Twitter Card metadata, schema.org microdata, and -- if available -- oEmbed metadata.
diffbotUriUnique object ID. The diffbotUri is generated from the values of various event fields and uniquely identifies the object. This can be used for deduplication.

The following is an example response from a successfully extracted event page.

{
   "request":{
      "pageUrl":"https://www.eventbrite.com/e/graphql-summit-2018-tickets-46601841362",
      "api":"event",
      "version":3
   },
   "objects":[
      {
         "venue":"The Regency Center",
         "images":[
            {
               "naturalHeight":0,
               "width":720,
               "diffbotUri":"image|3|2088675194",
               "url":"https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F45534724%2F182934487936%2F1%2Foriginal.jpg?w=800&auto=compress&rect=0%2C0%2C2160%2C1080&s=e73c0be202c2cd939dcd3e809d96e093",
               "naturalWidth":0,
               "primary":true,
               "height":360
            }
         ],
         "timezoneOffset": "-07:00",
         "endDate":"Fri, 09 Nov 2018 01:00:00 GMT",
         "endDateLocalTimezone":"Thu, 08 Nov 2018 17:00:00",
         "humanLanguage":"en",
         "diffbotUri":"event|3|-2069254052",
         "description":"​Join over 850 developers at the 3rd annual GraphQL Summit, the world's largest conference dedicated to GraphQL. Whether you're just getting started or a veteran GraphQL practitioner, this is the must-attend developer conference of the year.\nChoose from 40+ sessions across two tracks at one of San Francisco's most historic event venues\n​See how teams at top startups and enterprises are modernizing their platforms by using GraphQL in complex production environments\nHear where the technology is heading next, directly from the leaders of GraphQL's major open source projects\nMeet top solution providers from around the world - all under one roof.\nEnroll in hands-on workshops and classroom training to boost your skills to get the most out of GraphQL.\nGraphQL Summit Day Code of Conduct\nWe believe our community and events should be truly open for everyone. As such, we are committed to providing a friendly, safe, and welcoming environment for all, regardless of gender, sexual orientation, disability, ethnicity, or religion. Our event code of conduct outlines our expectations for participant behavior, as well as the consequences for unacceptable behavior.\n*GraphQL Summit is hosted at the Regency Center which is an accessible space with elevator access*",
         "pageUrl":"https://archives.diffbot.com/replay/4F02A5A651C6767544362C27B1D9BAC1/",
         "location":{
            "country":{
               "name":"United States",
               "diffbotUri":"http://diffbot.com/entity/A01d4EK33MmCosgI2KXa4-A",
               "websiteUris":[
                  "wikidata.org/entity/Q30"
               ],
               "targetDiffbotUri":"http://diffbot.com/entity/A01d4EK33MmCosgI2KXa4-A",
               "surfaceForm":"United States"
            },
            "isCurrent":true,
            "address":"1300 Van Ness Ave, San Francisco, California",
            "city":{
               "name":"San Francisco",
               "diffbotUri":"http://diffbot.com/entity/A8AV-O2v0MBuACAY7pFZzbg",
               "websiteUris":[
                  "wikidata.org/entity/Q62"
               ],
               "targetDiffbotUri":"http://diffbot.com/entity/A8AV-O2v0MBuACAY7pFZzbg",
               "surfaceForm":"San Francisco"
            },
            "street":"1300 Van Ness Ave",
            "subregion":{
               "name":"San Francisco County",
               "diffbotUri":"http://diffbot.com/entity/A8AV-O2v0MBuACAY7pFZzbg",
               "websiteUris":[
                  "wikidata.org/entity/Q62"
               ],
               "targetDiffbotUri":"http://diffbot.com/entity/A8AV-O2v0MBuACAY7pFZzbg",
               "surfaceForm":"San Francisco County"
            },
            "latitude":37.78785705566406,
            "precision":0.10000000149011612,
            "postalCode":"94109",
            "region":{
               "name":"California",
               "diffbotUri":"http://diffbot.com/entity/Al0_8ehooNxOPT36Y4RdV9w",
               "websiteUris":[
                  "wikidata.org/entity/Q99"
               ],
               "targetDiffbotUri":"http://diffbot.com/entity/Al0_8ehooNxOPT36Y4RdV9w",
               "surfaceForm":"California"
            },
            "longitude":-122.42138671875
         },
         "type":"event",
         "title":"GraphQL Summit 2018",
         "startDate":"Wed, 07 Nov 2018 16:30:00 GMT",
         "startDateLocalTimezone":"Wed, 07 Nov 2018 08:30:00"
      }
   ]
}

Optional Fields

Event API may also return some optional fields if specified. (comma delimited) in the &fields= argument.

Already have the source HTML? POST it to Event API.

Event API supports a POST option that allows you to upload HTML or plain text for extraction. See Extract Content Not Available Online.

Language
Authorization
Query
Click Try It! to start a request and see the response here!