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
- Request type HTTP
- Authorization Optional
- URL http://www.slideshare.net/api/2/get_slideshow
- 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.
- 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.
<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 TypeHTTP GET
- AuthorizationNone
- URLhttp://www.slideshare.net/api/2/get_slideshows_by_tag
- tagtag name
- limitspecify number of items to return
- offsetspecify offset
- detailedWhether or not to include optional information. 1 to include, 0 (default) for basic information.
<Tag>
<Name>{ Tag Name }</Name>
<Count>{ Number of Slideshows }</Count>
<Slideshow>
{ as in get_slideshow }
</Slideshow>
...
</Tag>
Get Slideshows By Group
- Request TypeHTTP GET
- AuthorizationNone
- URLhttp://www.slideshare.net/api/2/get_slideshows_by_group
- group_nameGroup name (as returned in QueryName element in get_user_groups method)
- limitspecify number of items to return
- offsetspecify offset
- detailedWhether or not to include optional information. 1 to include, 0 (default) for basic information.
<Group>
<Name>{ Group Name }</Name>
<Count>{ Number of Slideshows }</Count>
<Slideshow>
{ as in get_slideshow }
</Slideshow>
...
</Group>
Get Slideshows By User
- Request TypeHTTP GET
- AuthorizationNone
- URLhttp://www.slideshare.net/api/2/get_slideshows_by_user
- username_forusername of owner of slideshows
- 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.
<User>
<Name>{ username_for }</Name>
<Count>{ Number of Slideshows }</Count>
<Slideshow>
{ as in get_slideshow }
</Slideshow>
...
</User>
Slideshow Search
- Request TypeHTTP GET
- AuthorizationNone
- URLhttp://www.slideshare.net/api/2/search_slideshows
- qthe query string
- 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.
<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 TypeHTTP GET
- AuthorizationOptional
- URLhttp://www.slideshare.net/api/2/get_user_groups
- username_for : username of user whose groups are being requested
- usernameusername of the requesting user
- passwordpassword of the requesting user
<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 TypeHTTP GET
- AuthorizationOptional
- URLhttp://www.slideshare.net/api/2/get_user_contacts
- username_forusername of user whose Contacts are being requested
<Contacts>
<Contact>
<Userame>{ Username }</Name>
<NumSlideshows>{ Number of Slideshows }</Name>
<NumComments>{ Number of Comments }</Name>
<Contact>
...
</Contacts>
Get User Tags
- Request TypeHTTP GET
- AuthorizationRequired
- URLhttp://www.slideshare.net/api/2/get_user_tags
- usernameusername of the requesting user
- passwordpassword of the requesting user
<Tags>
<Tag Count="{ Number of times tag used }">{ Tag name }</Tag>
...
</Tags>
Edit Existing Slideshow
- Request TypeHTTP GET
- AuthorizationRequired
- URLhttp://www.slideshare.net/api/2/edit_slideshow
- usernameusername of the requesting user
- passwordpassword of the requesting user
- slideshow_idslideshow ID
- 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
<SlideShowEdited> <SlideShowID>SlideShowID</SlideShowID> </SlideShowEdited>
Delete Slideshow
- Request TypeHTTP GET
- AuthorizationRequired
- URLhttp://www.slideshare.net/api/2/delete_slideshow
- username : username of the requesting user
- password : password of the requesting user
- slideshow_id : slideshow ID
<SlideShowDeleted> <SlideShowID>SlideShowID</SlideShowID> </SlideShowDeleted>
Upload Slideshow
- Request TypeHTTP GET
- AuthorizationRequired
- URLhttp://www.slideshare.net/api/2/upload_slideshow
- usernameusername of the requesting user
- passwordpassword of the requesting user
- slideshow_titleslideshow's title
- slideshow_srcfileslideshow file
- 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
- 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.
