Using the eSpeakers XML Feed to Retrieve Data for Your Site

Using the eSpeakers XML Feed to Retrieve Data for Your Site


My bureau or association subscribes to the eSpeakers XML feed. Instead of linking our site to the finished search engine and speaker bio pages, we want to retrieve the data via XML and present it ourselves. How do we do this?

Adding the eSpeakers directory to your bureau or association database is easy and lets you leverage the largest high-quality database of professional presenters available. Your directory still gets the benefit of the presenters keeping their own information up to date.

Please note that the data provided through this feed can only be used as long as your organization maintains its paid Marketplace subscription. The data may only be used to power a directory on your website, and may not be used for any other purpose, including marketing to the presenters. While your subscription is active, you are required to update your database at least once per day.

These instructions are technical and are intended for webmasters.

What Sort of Information Comes in the XML Feed?

The XML feed gives you complete data for all of the speakers that your directory subscribes to, including:
  1. Name
  2. Fees
  3. Topics
  4. Association and chapter memberships and member types
  5. Links to multimedia assets
  6. Date the profile was last modified
In addition, the XML feed can give you:
  1. A list of eSpeakers topics filtered to only those for which your directory has at least one speaker (use this filtered list to present a dropdown of topic choices where you're guaranteed to always return at least one result)
  2. A list of the ID numbers of all the speakers your organization subscribes to

How Do I Get Access to the XML Feed?

To access the eSpeakers XML feed, you will need:
  1. A current Marketplace subscription, with an additional XML access agreement
  2. The 4-character code assigned your organization ("bcode")
  3. The token secret for your bureau (provided when you sign up for XML; if you need yours, request from support@espeakers.com
  4. A server-side scripting language on your web server capable of generating an HTTPS request and processing the XML returned (.Net, PHP, Java, Ruby, etc...)

How to Format the HTTPS Request

The request is a simple HTTPS call that returns XML directly. You do not need to wrap the request in a SOAP or XMLRPC call. The base URL is: https://www.espeakers.com/webservice/bureauxml.php

Three parameters are required:
  1. `bcode` the 4-letter code assigned to your organization
  2. `action` one of
    1. `getspeakerlist` return the list of speakers to which your organization has subscribed; the important value in the response is the 'sid' value, which can be used to retrieve the full speaker information using the `getspeakerprofile` action
    2. `getspeakerprofile` supply an `sid` parameter with one of the speaker ids returned by the `getspeakerlistaction` to see the full profile details for any speaker
    3. `gettopics` return the list of topics for which you have at least subscribed speaker
  3. `token`, which is computed just in time for the request:
    1. generate a string that is the concatenation of your `bcode` + the day of the month (no leading zero) + the `secret` value provided to your organization
    2. take the MD5 hash of that string
Here's an example in PHP of computing the token:

<?php
$bcode = 'XXXX';
$secret = '42csv39235vsr90as523xcvs';
$token = md5(strtoupper($bcode) . date('j') . $secret);
?>

Examples of Requests

Here are examples of completed URLs. For these examples, the directory code (`bcode`) value is `xxxx` and the computed token is `abcdefg123456789`:
  1. https://www.espeakers.com/webservice/bureauxml.php?bcode=xxxx&action=getspeakerlist&token=abcdefg123456789
  2. https://www.espeakers.com/webservice/bureauxml.php?bcode=xxxx&action=gettopics&token=abcdefg123456789
  3. https://www.espeakers.com/webservice/bureauxml.php?bcode=xxxx&action=getspeakerprofile&sid=10&token=abcdefg123456789
If there is any problem with request, the server will return a human-readable error in the following format: `<error>This is a human-readable message.</error>`
PLEASE do your bulk transferring between the hours of 'midnight' and 7:00 am MT -- this is when traffic to our servers is lowest, and you'll a) get the quickest responses and b) slow down our human traffic the least. Thank you.

Examples of Data

  1. Request for list of speakers. Note you can tell when the profile was last updated, so that you can update your data efficiently.
<speakers>
   <speaker sid="20493" lastupdate="2013-06-21T23:38:00-06:00">Abbott, Susan</speaker>
   <speaker sid="16970" lastupdate="1950-01-01T00:00:00-07:00">Adams, Rose</speaker>
   <speaker sid="23477" lastupdate="2014-01-21T20:15:00-07:00">Ainsley, Grant</speaker>
 ...
   <speaker sid="26438" lastupdate="2013-06-22T01:08:00-06:00">Young, Leah</speaker>
   <speaker sid="134544" lastupdate="1950-01-01T00:00:00-07:00">Zeiser, Tom</speaker>
   <speaker sid="223485" lastupdate="2013-07-13T12:15:00-06:00">Zeitoun, Andrew</speaker>
 </speakers>

  1. Request for a specific speaker's data
 <speakers>
   <speaker sid="6193">
   <name_last>Ridges</name_last>
   <name_first>Zeke</name_first>
   <credentials>Ph.D.</credentials>
   <name_full>Zeke Ridges</name_full>
   <onelinebio>Business wrestling for wimps</onelinebio>
   <travelsfrom>Vancouver, BC CANADA</travelsfrom>
   <fee_low>6500</fee_low>
   <fee_high>7500</fee_high>
   <address1>Vancouver</address1>
   <address2></address2>
   <city>Vancouver</city>
   <state>BC</state>
   <zip></zip>
   <country>CANADA</country>
   <phone>604-723-7774</phone>
   <fax></fax>
   <business_name>Positive Presentations Inc.</business_name>
   <exclusive>false</exclusive>   <last_updated>3-24-2014</last_updated>
   <career_start_year>1999</career_start_year>
   <presentations_last_12mo>60</presentations_last_12mo>
   <bureau_fee_style>gross</bureau_fee_style>
   <primaryemail>info@elaineallison.com</primaryemail>
   <profile_author>speaker</profile_author>
   <services/>
   <contacts>
     <contact>
       <name>Elaine Allison</name>
       <phone>866-241-6876</phone>
       <email>info@elaineallison.com</email>
     </contact>
   </contacts>
   <topics>
     <topic>Customer Service</topic>
     <topic>Social Media</topic>
     <topic>Conflict Resolution</topic>
     <topic>Leadership</topic>
     <topic>Negotiation</topic>
     <topic>Women in Society</topic>
   </topics>
   <industries>
     <industry>Banking</industry>
     <industry>Travel</industry>
   </industries>
   <associations>
     <association membertype="Professional Member">CAPS - Canada</association>
     <association membertype="Professional Member">NSA - USA</association>
     <association membertype="">WSA - Women Speakers Association</association>
   </associations>
   <chaptermemberships>
     <chaptermembership membertype="">Vancouver</chaptermembership>
   </chaptermemberships>
   <awards>
     <award>CSP Certified Speaking Professional (NSA)</award>
   </awards>
   <multimedia_others>
     <asset>
       <type>VIDEO</type>
       <description>Quick Preview Elaine Speaking</description>
     </asset>
     <asset>
       <type>VIDEO</type>
       <description>Live Speaking Clip: Getting to Resolve</description>
     </asset>
     <asset>
     <asset>
       <type>PHOTO</type>
       <description>photo</description>
     </asset>
     <asset>
       <type>JACKET</type>
       <description>The Velvet Hammer - PowHERful Leadership Lessons for Women Who Don't Golf</description>
     </asset>
    </multimedia_others>
   <socialmedia_services>
     <socialmedia_service>Twitter</socialmedia_service>
     <socialmedia_service>LinkedIn</socialmedia_service>
   </socialmedia_services>
   <languages_spoken>
     <language>English</language>
   </languages_spoken>
   <countries_worked_in>
     <country>Canada</country>
     <country>United States</country>
     <country>Saudi Arabia</country>
     <country>United Arab Emirates</country>
     <country>Cayman Islands</country>
     <country>Netherlands</country>
     <country>Colombia</country>
     <country>England</country>
     <country>Greece</country>
     <country>France</country>
   </countries_worked_in>
   <programs>
     <program>
       <ID>5771</ID>
       <LANG>en</LANG>
       <FLAGS>0</FLAGS>
       <TITLE>Customer Service in a Connected World</TITLE>
       <DESCRIPTION><p>Much emphasis has been put on using social media ....</p> 
      </DESCRIPTION>
       <PRESENTER_TYPE>1</PRESENTER_TYPE>
       <TOPICID>14</TOPICID>
       <VIEWORDER>0</VIEWORDER>
     </program>
     <program>
       <ID>6365</ID>
       <LANG>en</LANG>
       <FLAGS>0</FLAGS>
       <TITLE>Leading a Culture of Care</TITLE>
       <DESCRIPTION><p>Everyone's leadership styles vary, ...</p>
      </DESCRIPTION>
       <PRESENTER_TYPE>1</PRESENTER_TYPE>
       <TOPICID>-1</TOPICID>
       <VIEWORDER>0</VIEWORDER>
     </program>
     <program>
       <ID>6364</ID>
       <LANG>en</LANG>
       <FLAGS>0</FLAGS>
       <TITLE>I Can Fix That </TITLE>
       <DESCRIPTION><p>Service breakdowns cost too much.</p>
      </DESCRIPTION>
       <PRESENTER_TYPE>1</PRESENTER_TYPE>
       <TOPICID>-1</TOPICID>
       <VIEWORDER>0</VIEWORDER>
     </program>
   </programs>
   <recommendations>
     <recommendation>
       <id>1504</id>
       <sid>6193</sid>
       <vieworder>-1</vieworder>
       <name>Melissa Cable</name>
       <title>Conference Organizer</title>
       <organization>Active Network</organization>
       <testimony>Zeke's presentation was a resounding hit at our conference.</testimony>
       <imageURL></imageURL>
       <flags>2</flags>
       <language>en</language>
       <eid></eid>
       <rating>-1</rating>
       <verified></verified>
       <email>Melissa@active.com</email>
       <mp_buyer_id></mp_buyer_id>
       <modified>1365660000000</modified>
     </recommendation>
     <recommendation>
       <id>1589</id>
       <sid>6193</sid>
       <vieworder>-1</vieworder>
       <name>Marie-Luisa Liberatore</name>
       <title>Member Services Officer,Association of Administrative and Professional Staff</title>
       <organization>University of British Columbia</organization>
       <testimony>“Participants walked away with a better understanding....”</testimony>
       <imageURL></imageURL>
       <flags>4</flags>
       <language></language>
       <eid></eid>
       <rating>-1</rating>
       <verified></verified>
       <email>luisa@ubc.ca</email>
       <mp_buyer_id></mp_buyer_id>
       <modified>1379311200000</modified>
     </recommendation>
   </recommendations>
   <bio><p><strong>Full bio text here, html encoded.</strong>
 </bio>
   </speaker>
 </speakers>


    • Related Articles

    • Third Party Access to Your eSpeakers Data

      PRESENTERS eSpeakers Technology Partners can create applications that integrate directly with the data in your eSpeakers account. Applications may use your profile information, or they may access your calendar and event data from EventCX. To allow ...
    • CSP application with eSpeakers

      With EventCX you can monitor your progress toward the Certified Speaking Professional (CSP®) designation from the National Speakers Association (NSA), and easily generate the event list portion of the application when you're ready to apply. As often ...
    • Track Custom Data in EventCX

      PRESENTERS EventCX was custom designed by professional speakers, and has evolved and grown since 1999 to include nearly every piece of information you may need to know about your events, all in one place. But when you need to track some information ...
    • Getting Booked Through eSpeakers Marketplace

      PRESENTER The eSpeakers Marketplace platform is a secure, convenient way for organizations to research and hire speakers, trainers, coaches, and consultants. Buyers use Marketplace-powered speaker directories to search for experts by price, topic, ...
    • eSpeakers Downloads

      Download eSpeakers App The eSpeakers application is available for iPhone, Mac, and Windows. Download Library Template Examples Library Templates can be created to capture the data fields you want into YOUR customized templates -- [see more detailed ...