SlideShare API Version 2.0 Documentation

Initial configuration


1) To use the Slideshare API, you will need to first create an account on SlideShare.
2) Visit http://www.slideshare.net/developers/applyforapi and fill out the form.
3) Your request will be immediately approved and we will provide you with
i) An API Key (required for API calls)
ii) A shared secret (used to sign your API calls)

API Validation using the SlideShare API


All requests made using the SlideShare API must have the following parameters:
1) api_key: Set this to the API Key that SlideShare has provided for you.
2) ts: Set this to the current time in Unix TimeStamp format, to the nearest second (?).
3) 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:
1) username: set this to the username of the account whose data is being requested
2) password: set this to the password of the account whose data is being requested

Note: Requests are marked with "auth needed" in the documentation. Not all the requests require authentication.

API Methods


Get Slideshow Information


Request Type: HTTP GET
Authorization: Optional
URL: http://www.slideshare.net/api/2/get_slideshow

Required parameters:
slideshow_id: id 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


Request Type: HTTP GET
Authorization: None
URL: http://www.slideshare.net/api/2/get_slideshows_by_tag

Required parameters:
tag: tag name

Optional parameters:
limit: specify number of items to return
offset: specify offset
detailed: Whether 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


Request Type: HTTP GET
Authorization: None
URL: http://www.slideshare.net/api/2/get_slideshows_by_group

Required parameters:
group_name: Group name (as returned in QueryName element in get_user_groups method)

Optional parameters:
limit: specify number of items to return
offset: specify offset
detailed: Whether 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


Request Type: HTTP GET
Authorization: Optional
URL: http://www.slideshare.net/api/2/get_slideshows_by_user

Required parameters:
username_for: username of owner of slideshows

Optional parameters:
username: username of the requesting user
password: password of the requesting user
limit: specify number of items to return
offset: specify offset
detailed: Whether 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


Request Type: HTTP GET
Authorization: None
URL: http://www.slideshare.net/api/2/search_slideshows

Required parameters:
q: the query string

Optional parameters:
page: The page number of the results (works in conjunction with items_per_page), default is 1
items_per_page: Number of results to return per page, default is 12
lang: Language 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)
sort: Sort order (default is 'relevance')
('mostviewed','mostdownloaded','latest')
what: What type of search. If not set, text search is used. 'tag' is the other option.
download: Slideshows that are available to download; Set to '0' to do this, otherwise default is all slideshows.
fileformat: File format to search for. Default is "all".
('pdf':PDF,'ppt':PowerPoint,'odp':Open Office,'pps':PowerPoint Slideshow,'pot':PowerPoint template)
cc: Set to '1' to retrieve results under the Creative Commons license. Default is '0'
cc_commercial: Set to '1' to retrieve results with the commercial Creative Commons license. Default is '0'
cc_adapt: Set to '1' for results under Creative Commons that allow adaption, modification. Default is '0'
detailed: Whether 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


Request Type: HTTP GET
Authorization: Optional
URL: http://www.slideshare.net/api/2/get_user_groups

Required parameters:
username_for: username of user whose groups are being requested

Optional parameters:
username: username of the requesting user
password: password 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


Request Type: HTTP GET
Authorization: None
URL: http://www.slideshare.net/api/2/get_user_contacts

Required parameters:
username_for: username 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


Request Type: HTTP GET
Authorization: Required
URL: http://www.slideshare.net/api/2/get_user_tags

Required parameters:
username: username of the requesting user
password: password of the requesting user

Response XML Format:
<Tags>
  <Tag Count="{ Number of times tag used }">{ Tag name }</Tag>
  ...
</Tags>


Edit Existing Slideshow


Request Type: HTTP POST
Authorization: Required
URL: http://www.slideshare.net/api/2/edit_slideshow

Required parameters:
username: username of the slideshow owner
password: password of the slideshow owner
slideshow_id: slideshow ID

Optional parameters:
slideshow_title: text
slideshow_description: text
slideshow_tags: text
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_contacts: Sets 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


Request Type: HTTP POST
Authorization: Required
URL: http://www.slideshare.net/api/2/delete_slideshow

Required parameters:
username: username of the slideshow owner
password: password of the slideshow owner
slideshow_id: slideshow ID

Response XML Format:
<SlideShowDeleted>
  <SlideShowID>SlideShowID</SlideShowID>
</SlideShowDeleted>


Upload Slideshow


Request Type: HTTP POST
Authorization: Required
URL: http://www.slideshare.net/api/2/upload_slideshow

Required parameters:
username: username of the slideshow owner
password: password of the slideshow owner
slideshow_title: slideshow's title slideshow_srcfile: slideshow file
Optional parameters:
slideshow_description: description slideshow_tags: tags 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_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_contacts: Sets 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


Your use of the API is at the discretion of SlideShare, and is restricted to non-commercial use. For full details, see the Slideshare API terms of service (http://www.slideshare.net/developers/tos).

It is recommended that you join the SlideShare API mailing list at (http://groups.google.com/group/slideshare-developers) so that you can interact with other API users and get regular updates about the SlideShare 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.