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)
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>
<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>
<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>
<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>
<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')'de':German,'zh':Chinese,'ja':Japanese,'ko':Korean,'ro':Romanian,'!!':Other)
('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>
<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>
<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>
<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>
<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>
<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>
<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.<SlideShowID>{slideshow id goes here}</SlideShowID>
</SlideShowUploaded>
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.
API Methods
Slideshows





