Slideshare Free API-Version 1.0
Initial configuration
To use the Slideshare API, you will need to first create an account on Slideshare. Once you do, visit (http://www.slideshare.net/developers/applyforapi) and fill out a form. You will need to indicate a point of contact (name and email address). Your request will be immediately approved and we will provide you with
1) An API Key (needed use of the API)
2) A shared secret (a string 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 value to the API Key that SlideShare has provided for you.
2) ts: set this value to the current time in Unix TimeStamp format, to the nearest second (http://en.wikipedia.org/wiki/Unix_time) .
3) hash: set this value to the SHA1 hash of the string created by concatenation of the shared secret and the timestamp(i.e 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: these requests are marked with the phrase "auth needed" in the documentation Not all the requests require authentication.
Slideshow Search
New!Request Type: HTTP GET
URL: http://www.slideshare.net/api/1/search_slideshows
Required parameters:
api_key
ts
hash
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'
Response XML Format (if API call is successful):
<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>
<Id>{ SlideShow ID }</Id>
<Title>{ SlideShow Title }</Title>
<Owner>{ Username of owner }</Owner>
<URL>{ Link to SlideShow's Slide View page</URL>
<Thumbnail>{ Thumbnail Image of SlideShow }</Thumbnail>
<Embed>{ Embeddable Code }</Embed>
<Description>{ Descriptive Text }</Description>
<Tags>
<Tag>{ A Tag }</Tag>
<Tag>{ Another Tag}</Tag>
...
</Tags>
<Downloads>{ Number of Downloads }</Downloads>
<Views>{ Number of Views }</Views>
<Created>{ Created date. Format: Thu Mar 13 00:46:57 -0700 2008 }</Created>
<NumSlides>{ Number of Slides in this SlideShow }</NumSlides>
</Slideshow>
...
</Slideshows>
Editing Existing Slideshow information using the slideshare API
New!Request Type: HTTP POST
URL: http://www.slideshare.net/api/1/edit_slideshow (auth needed)
Required parameters:
api_key
ts
hash
slideshow_id
username
password
Optional parameters:
slideshow_title - text
slideshow_description - text
slideshow_tags - text
make_slideshow_private - Should be Y if you want to upload the slideshow privately. 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 (if API call is successful):
<SlideShowEdited>
<SlideShowID>SlideShowID</SlideShowID>
</SlideShowEdited>
Deleting a Slideshow using the slideshare API
New!Request Type: HTTP POST
URL: http://www.slideshare.net/api/1/delete_slideshow (auth needed)
Required parameters:
api_key
ts
hash
slideshow_id
username
password
Response XML Format (if API call is successful):
<SlideShowDeleted>
<SlideShowID>SlideShowID</SlideShowID>
</SlideShowDeleted>
Retrieving Slideshow information using the slideshare API
New!Request Type: HTTP GET
URL: http://www.slideshare.net/api/1/get_slideshow_info
Required parameters:
api_key
ts
hash
slideshow_id
slideshow_url
Either slideshow_id or slideshow_url should be sent as a parameter in the call. If both are available, slideshow_id will be given higher priority.
Response XML Format (if API call is successful):
<Slideshow>
<ID>{slideshow id}</ID>
<Title>{slideshow title}</Title>
<Description>{slideshow description}</Description>
<Status>{conversion status code}</Status>
<EmbedCode>{embed code goes here}</EmbedCode>
<PlayerDoc>{doc passed to player}</PlayerDoc>
<TotalSlides>{total slides}</TotalSlides>
<URLDoc>{doc passed in url}</URLDoc>
<Language>{language code}</Language>
<URL>{complete url of slideshow}</URL>
<UserID>{user id of owner}</UserID>
<UserLogin>{login id of owner}</UserLogin>
<RelatedSlideshows>{csv list of related slideshow id's}</RelatedSlideshows>
<ThumbnailURL>{url of thumbnail}</ThumbnailURL>
<ThumbnailSmallURL>{url of smaller thumbnail}</ThumbnailSmallURL>
<Tags>{slideshow tags}</Tags>
Response XML Format (if API call failed):
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here}</Message>
</SlideShareServiceError>
1 Failed API validation
2 Failed User authentication
3 Missing title
4 Missing file for upload
5 Blank title
6 Slideshow file isn't a source object
7 Invalid extension
8 File size too big
Uploading Slideshows using the slideshare API (auth needed)
Request Type: HTTP POST
URL: http://www.slideshare.net/api/1/upload_slideshow
Required parameters:
api_key
ts
hash
username
password
slideshow_title
slideshow_srcfile
Optional parameters:
slideshow_description
slideshow_tags (tags should be space separated, use quotes for multiple word tags)
make_src_public (should be Y if you want users to be able to download the ppt file later, N otherwise. Default is Y)
Privacy settings (optional):
make_slideshow_private (should be Y if you want to upload the slideshow privately. 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 (if API call is successful):
<SlideShowUploaded>
<SlideShowID>{slideshow id goes here}</SlideShowID>
</SlideShowUploaded>
Response XML Format (if API call failed):
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here}</Message>
</SlideShareServiceError>
1 Failed API validation
2 Failed User authentication
3 Missing title
4 Missing file for upload
5 Blank title
6 Slideshow file isn't a source object
7 Invalid extension
8 File size too big
Retrieving Embed Code for a Slideshow using the SlideShare API
After a file has been uploaded to SlideShare, it will be converted into a series of flash files suitable for streaming over the internet (this usually takes 1-10 minutes, depending on the size of the file and how many other files are in the queue). The files will be hosted by Slideshare: clients embed them into their own HTML pages using an "embed code", similar to the embed codes used on sites like Youtube for embedding videos.
Request Type: HTTP POST to the following url:
URL: http://www.slideshare.net/api/1/get_slideshow
Required parameters:
api_key
ts
hash
slideshow_id
Response XML Format (if API call is successful):
<Slideshows>
<Status>0, 1, 2, or 3</Status>
<StatusDescription>{queued, processing, ready, or failed}</StatusDescription>
<Title>{title goes here}</Title>
<Description>{description goes here}</Description>
<Tags>{all tags go here, separated by spaces. Multiple word tags are surrounded by double
quotes}</Tags>
<EmbedCode>{embed code goes here}</EmbedCode>
<Thumbnail>{url for thumbnail goes here}</Thumbnail>
<Permalink>{Permanent link for the slideshow}</Permalink>
<Views>{Number of views for the slideshow}</Views>
</Slideshow>
Response XML Format (if API call failed):
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here, depending on the error}</Message>
</SlideShareServiceError>
1 Failed API validation
9 SlideShow Not Found
Retrieving SlideShows for a given user
Request Type: HTTP GET
URL: http://www.slideshare.net/api/1/get_slideshow_by_user
Required Parameters:
api_key
ts
hash
username_for
Optional parameters
Offset : The offset from which we retrieve slideshows
Limit : How many slideshows to retrieve
username : Username; to authorize fetching of private slideshowsadded
password : Passowrd; to authorize fetching of private slideshowsadded
Response XML Format (if API call is successful):
<User>{Name goes here}</User>
<count>{Total number of slideshows for given user}</count>
<Slideshows>
<EmbedCode>{embed code goes here}</EmbedCode>
<Thumbnail>{url for thumbnail goes here}</Thumbnail>
<Title>{title goes here}</Title>
<Description>{description goes here}</Description>
<Status>0, 1, 2, or 3</Status>
<StatusDescription>{queued, processing, ready, or failed}</StatusDescription>
<Permalink>{Permanent link for the slideshow}</Permalink>
<Views>{Number of views for the slideshow}</Views>
<Make_SlideShow_Private>{Y or N}</Make_SlideShow_Private>added
<Generate_Secret_URL>{Y or N}</Generate_Secret_URL>added
<Allow_Embeds>{Y or N}</Allow_Embeds>added
<Share_With_Contacts>{Y or N}</Share_With_Contacts>added
</Slideshow>
{repeat SlideShow element as many times as is necessary}
</User>
Response XML Format (if API call failed):
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here}</Message>
</SlideShareServiceError>
1 Failed API validation
10 User Not Found
Retrieving SlideShows for a given tag
Request Type: HTTP GET
URL: http://www.slideshare.net/api/1/get_slideshow_by_tag
Required Parameters:
api_key
ts
hash
tag
Optional parameters (Useful for pagination)
Offset : The offset from which we retrieve slideshows
Limit : How many slideshows to retrieve
Response XML Format (if API call is successful):
<Tag>
<name>{tag}</name>
<count>{Total number of slideshows for given tag}</count>
<Slideshows>
<EmbedCode>{embed code goes here}</EmbedCode>
<Thumbnail>{url for thumbnail goes here}</Thumbnail>
<Title>{title goes here}</Title>
<Description>{description goes here}</Description>
<Status>0, 1, 2, or 3</Status>
<StatusDescription>{queued, processing, ready, or failed}</StatusDescription>
<Permalink>{Permanent link for the slideshow}</Permalink>
<Views>{Number of views for the slideshow}</Views>
</Slideshow>
{repeat SlideShow element as many times as is necessary}
</Tag>
Response XML Format (if API call failed):
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here}</Message>
</SlideShareServiceError>
1 Failed API validation
Retrieving SlideShows for a given group
Request Type: HTTP GET
URL: http://www.slideshare.net/api/1/get_slideshow_from_group
Required Parameters:
api_key
ts
hash
group_name
Optional parameters (Useful for pagination)
Offset : The offset from which we retrieve slideshows
Limit : How many slideshows to retrieve
Response XML Format (if API call is successful):
<Group>{name goes here}</Group>
<Slideshows>
<EmbedCode>{embed code goes here}</EmbedCode>
<Thumbnail>{url for thumbnail goes here}</Thumbnail>
<Title>{title goes here}</Title>
<Description>{description goes here}</Description>
<Status>0, 1, 2, or 3</Status>
<StatusDescription>{queued, processing, ready, or failed}</StatusDescription>
<Permalink>{Permanent link for the slideshow}</Permalink>
<Views>{Number of views for the slideshow}</Views>
</Slideshow>
{repeat SlideShow element as many times as is necessary}
</Group>
Response XML Format (if API call failed)
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here}</Message>
</SlideShareServiceError>
1 Failed API validation
11 Group Not Found
Complete List of Error Codes
1 Failed API validation
2 Failed User authentication
3 Missing title
4 Missing file for upload
5 Blank title
6 Slideshow file isn't a source object
7 Invalid extension
8 File size too big
9 SlideShow Not Found
10 User Not Found
11 Group Not Found
12 No Tag Provided
13 Tag Not Found
99 Account Exceeded Daily Limit
100 Your Account has been blocked
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 uploads are limited to 100 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 upload more than 100 presentations per day, e-mail us about your requirements.