SlideShare API » Documentation

API Validation using the SlideShare API

All requests made using the SlideShare API must have the following parameters:

  • api_key: Set this to the API Key that SlideShare has provided for you.
  • ts: Set this to the current time in Unix TimeStamp format, to the nearest second(?).
  • hash: Set this to the SHA1 hash of the concatenation of the shared secret and the timestamp (ts). i.e. SHA1 (sharedsecret + timestamp). The order of the terms in the concatenation is important.

Authentication using the slideshare API

Requests that request private data from users, or that act on their behalf, must include the following parameters:

  • username: set this to the username of the account whose data is being requested.
  • password: set this to the password of the account whose data is being requested.

API Methods

Get Slideshow Information

Required parameters
  • slideshow_idid of the slideshow to be fetched.
  • slideshow_url URL of the slideshow to be fetched. This is required if slideshow_id is not set. If both are set, slideshow_id takes precedence.
Optional parameters
  • username username of the requesting user
  • password password of the requesting user
  • detailed Whether or not to include optional information. 1 to include, 0 (default) for basic information.
Response XML Format (Green text represents additional information provided by `detailed` parameter)
<Slideshow>
  <ID>{ slideshow id }</ID>
  <Title>{ slideshow title }</Title>
  <Description>{ slideshow description }</Description>
  <Status>{ 0 if queued for conversion, 1 if converting, 2 if converted,
            3 if conversion failed }
  </Status>
  <Username>{ username }</Username>
  <URL>{ web permalink }</URL>
  <ThumbnailURL>{ thumbnail URL }</ThumbnailURL>
  <ThumbnailSmallURL>{ URL of smaller thumbnail }</ThumbnailSmallURL>
  <Embed>{ embed code }</Embed>
  <Created>{ date slideshow created }</Created>
  <Language>{ language, as specified by two-letter code }</Language>
  <Format>ppt (or pdf, pps, odp, doc, pot, txt, rdf) </Format>
  <Download>{ 1 if available to download, else 0 }</Download>

<Tags>
  <Tag Count="{ number of times tag has been used }" Owner="{ 1 if owner
                has used the tag, else 0 }">{ tag name }
  </Tag>
  </Tags>
  <NumDownloads>{ number of downloads }</NumDownloads>
  <NumViews>{ number of views }</NumViews>
  <NumComments>{ number of comments }</NumComments>
  <NumFavorites>{ number of favorites }</NumFavorites>
  <NumSlides>{ number of slides }</NumSlides>
  <RelatedSlideshows>
    <RelatedSlideshowID rank="{ rank, where 1 is highest}">
    { slideshow id } </RelatedSlideshowID>
  </RelatedSlideshows>
  <PrivacyLevel>{ 0, or 1 if private }</PrivacyLevel>
  <SecretURL>{ 0, or 1 if secret URL is enabled }</SecretURL>
  <AllowEmbed>{ 0, or 1 if embeds are allowed }</AllowEmbed>
  <ShareWithContacts>{ 0, or 1 if set to private, but contacts can view
                       slideshow }
  </ShareWithContacts>
</Slideshow>

Get Slideshows By Tag

Required parameters
  • tagtag name
Optional parameters
  • limitspecify number of items to return
  • offsetspecify offset
  • detailedWhether or not to include optional information. 1 to include, 0 (default) for basic information.
Response XML Format
<Tag>
  <Name>{ Tag Name }</Name>
  <Count>{ Number of Slideshows }</Count>
  <Slideshow>
    { as in get_slideshow }
  </Slideshow>
  ...
</Tag>

Get Slideshows By Group

Required parameters
  • group_nameGroup name (as returned in QueryName element in get_user_groups method)
Optional parameters
  • limitspecify number of items to return
  • offsetspecify offset
  • detailedWhether or not to include optional information. 1 to include, 0 (default) for basic information.
Response XML Format
<Group>
  <Name>{ Group Name }</Name>
  <Count>{ Number of Slideshows }</Count>
  <Slideshow>
    { as in get_slideshow }
  </Slideshow>
  ...
</Group>

Get Slideshows By User

Required parameters
  • username_forusername of owner of slideshows
Optional parameters
  • usernameusername of the requesting user
  • passwordpassword of the requesting user
  • limitspecify number of items to return
  • offsetspecify offset
  • detailedWhether or not to include optional information. 1 to include, 0 (default) for basic information.
Response XML Format
<User>
  <Name>{ username_for }</Name>
  <Count>{ Number of Slideshows }</Count>
  <Slideshow>
    { as in get_slideshow }
  </Slideshow>
  ...
</User>

Slideshow Search

Required parameters
  • qthe query string
Optional parameters
  • pageThe page number of the results (works in conjunction with items_per_page), default is 1
  • items_per_pageNumber of results to return per page, default is 12
  • langLanguage of slideshows (default is English, 'en') ('**':All,'es':Spanish,'pt':Portuguese,'fr':French,'it':Italian,'nl':Dutch, 'de':German,'zh':Chinese,'ja':Japanese,'ko':Korean,'ro':Romanian,'!!':Other)
  • sortSort order (default is 'relevance') ('mostviewed','mostdownloaded','latest')
  • whatWhat type of search. If not set, text search is used. 'tag' is the other option.
  • downloadSlideshows that are available to download; Set to '0' to do this, otherwise default is all slideshows.
  • fileformatFile format to search for. Default is "all". ('pdf':PDF,'ppt':PowerPoint,'odp':Open Office,'pps':PowerPoint Slideshow,'pot':PowerPoint template)
  • ccSet to '1' to retrieve results under the Creative Commons license. Default is '0'
  • cc_adaptSet to '1' for results under Creative Commons that allow adaption, modification. Default is '0'
  • detailedWhether or not to include optional information. 1 to include, 0 (default) for basic information.
Response XML Format
<Slideshows>
<Meta>
  <Query>{ query }</Query>
  <ResultOffset>{ the offset of this result (if pages were used)}
  </ResultOffset>
  <NumResults>{ number of results returned }</NumResults>
  <TotalResults>{ total number of results}</TotalResults>
</Meta>
<Slideshow>
  {as in get_slideshow}
</Slideshow>
...
</Slideshows>

Get User Groups

Required parameters
  • username_for : username of user whose groups are being requested
Optional parameters
  • usernameusername of the requesting user
  • passwordpassword of the requesting user
Response XML Format
<Groups>
  <Group>
    <Name>{ Group Name }</Name>
    <NumPosts>{ Number of Posts }</Name>
    <NumSlideshows>{ Number of Slideshows }</Name>
    <NumMembers>{ Number of Members }</Name>
    <Created>{ Created date }</Name>
    <QueryName>{ Name used for querying (get_slideshows_by_group, etc) }
    </Name>
    <URL>{ Group URL }</Name>
  <Group>
  ...
</Groups>

Get User Contacts

Required parameters
  • username_forusername of user whose Contacts are being requested
Response XML Format
<Contacts>
  <Contact>
    <Userame>{ Username }</Name>
    <NumSlideshows>{ Number of Slideshows }</Name>
    <NumComments>{ Number of Comments }</Name>
  <Contact>
  ...
</Contacts>

Get User Tags

Required parameters
  • usernameusername of the requesting user
  • passwordpassword of the requesting user
Response XML Format
<Tags>
  <Tag Count="{ Number of times tag used }">{ Tag name }</Tag>
  ...
</Tags>

Edit Existing Slideshow

Required parameters
  • usernameusername of the requesting user
  • passwordpassword of the requesting user
  • slideshow_idslideshow ID
Optional parameters
  • slideshow_titletext
  • slideshow_descriptiontext
  • slideshow_tagstext
  • make_slideshow_private Should be Y if you want to make the slideshow private. If this is not set, following tags will not be considered
  • generate_secret_url Generate a secret URL for the slideshow. Requires make_slideshow_private to be Y
  • allow_embeds Sets if other websites should be allowed to embed the slideshow. Requires make_slideshow_private to be Y
  • share_with_contactsSets if your contacts on SlideShare can view the slideshow. Requires make_slideshow_private to be Y
Response XML Format
<SlideShowEdited>
  <SlideShowID>SlideShowID</SlideShowID>
</SlideShowEdited>

Delete Slideshow

Required parameters
  • username : username of the requesting user
  • password : password of the requesting user
  • slideshow_id : slideshow ID
Response XML Format
<SlideShowDeleted>
  <SlideShowID>SlideShowID</SlideShowID>
</SlideShowDeleted>

Upload Slideshow

Required parameters
  • usernameusername of the requesting user
  • passwordpassword of the requesting user
  • slideshow_titleslideshow's title
  • slideshow_srcfileslideshow file
Optional parameters
  • slideshow_descriptiondescription
  • slideshow_tagstags should be space separated, use quotes for multiple word tags
  • make_src_public : Y if you want users to be able to download the ppt file, N otherwise. Default is Y
Privacy settings (optional)
  • make_slideshow_privateShould be Y if you want to make the slideshow private. If this is not set, following tags will not be considered
  • generate_secret_urlGenerate a secret URL for the slideshow. Requires make_slideshow_private to be Y
  • allow_embedsSets if other websites should be allowed to embed the slideshow. Requires make_slideshow_private to be Y
  • share_with_contactsSets if your contacts on SlideShare can view the slideshow. Requires make_slideshow_private to be Y

The document will upload into the account of the user specified by (username / password). The user associated with the API key need not be the same as the user into who's account the slideshow gets uploaded. So, for example, a bulk uploader would include the api_key (and hash) associated with the API account, and the username and password associated with the account being uploaded to.

Response XML Format
<SlideShowUploaded>
  <SlideShowID>{slideshow id goes here}</SlideShowID>
</SlideShowUploaded>

The slideshare ID will be necessary for retrieving the slideshow embed code, once the slideshow has been converted into flash.

Notes about using API

In particular, do NOT write code that calls our API every time you get a web request. Cache the information so that you can serve it as needed to your users. API calls are limited to 1000 per day per API_Key. Calls that exceed this limit will receive an error message in the following format.

<SlideShareServiceError>
  <Message id=99>Account Exceeded Daily Limit</Message>
</SlideShareServiceError> 

In case your application needs to send more than 1000 API requests per day, e-mail us about your requirements.