1. Slideshare Free API – Version 1.0
Initial configuration
In order to use the slideshare API, you will need to first create an account on Slideshare.
Once you do, visit the following url (http://www.slideshare.net/developers/applyforapi)
and fill out a form. At this time, you will need to indicate a point of contact (name and
email address). If your account is approved, 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)
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.
Uploading Slideshows using the slideshare API (auth needed)
Content can be uploaded to the slideshare API using a simple HTTP POST to the
following URL.
http://www.slideshare.net/api/1/upload_slideshow
with the following required parameters:
api_key
ts
hash
username
password
slideshow_title
slideshow_srcfile
and the following optional parameters:
slideshow_description
slideshow_tags (tags should be space separated, use quotes for multiple
word tags)
2. make_src_public (should be Y if you want users to be able to download
the ppt file later, N otherwise. Default is Y)
The document will upload into the account of the user specified by (username /
password). 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.
You will receive back an xml document that looks like the following
<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.
If there was an error of some kind, you will receive back an xml document that looks like
the following
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go
here}</Message>
</SlideShareServiceError>
The message / ID in a SlideShareService error will be one of the following:
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 using an “embed code”, similar to
the embed codes used on sites like youtube for embedding videos.
Content can be retrieved from the slideshare API using a simple HTTP POST to the
following url:
http://www.slideshare.net/api/1/get_slideshow
with the following parameters:
api_key
ts
hash
slideshow_id
You will receive back an xml document that looks like the following
3. <Slideshow>
<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>
Status can be 0 (queued), 1 (processing), 2 (ready), or 3 (failed). EmbedCode and
Thumbnail will ONLY be provided if status is 2(ready).
If there was an error of some kind, you will receive back an xml document that looks like
the following
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here, depending on the
error}</Message>
</SlideShareServiceError>
The message in a SlideShareService error will be one of the following:
1 Failed API validation
9 SlideShow Not Found
Retrieving SlideShows for a given user
Content can be retrieved from the slideshare API using an HTTP GET to the following
url:
http://www.slideshare.net/api/1/get_slideshow_by_user
with the following parameters:
api_key
ts
hash
username_for
Optional parameters (Useful for pagination)
Offset : The offset from which we retrieve slideshows
Limit : How many slideshows to retrieve
You will receive back an xml document that looks like the following
<User>{Name goes here}</User>
<count>{Total number of slideshows for given user}</count>
<Slideshow>
<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>
4. <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}
</User>
Status can be 0 (queued), 1 (processing), 2 (ready), or 3 (failed).
If there was an error of some kind, you will receive back an xml document that looks like
the following
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here}</Message>
</SlideShareServiceError>
The message in a SlideShareService error will be one of the following:
1 Failed API validation
10 User Not Found
Retrieving SlideShows for a given tag
Content can be retrieved from the slideshare API using a simple HTTP GET to the
following url:
http://www.slideshare.net/api/1/get_slideshow_by_tag
with the following 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
You will receive back an xml document that looks like the following
<Tag>
<name>{tag}</name>
<count>{Total number of slideshows for given tag}</count>
<Slideshow>
<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>
5. Status for each slideshow can be 0 (queued), 1 (processing), 2 (ready), or 3 (failed).
If there was an error of some kind, you will receive back an xml document that looks like
the following
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here}</Message>
</SlideShareServiceError>
The message in a SlideShareService error will be one of the following:
1 Failed API validation
Retrieving SlideShows for a given group
Content can be retrieved from the slideshare API using a simple HTTP GET to the
following url:
http://www.slideshare.net/api/1/get_slideshows_from_group
with the following 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
You will receive back an xml document that looks like the following
<Group>{name goes here}</Group>
<Slideshow>
<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>
Status can be 0 (queued), 1 (processing), 2 (ready), or 3 (failed).
If there was an error of some kind, you will receive back an xml document that looks like
the following
<SlideShareServiceError>
<Message id={various numbers go here}>{various messages go here}</Message>
</SlideShareServiceError>
6. The message in a SlideShareService error will be one of the following:
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 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.
<SlideShareServiceError>
<Message id=”99”>Account Exceeded Daily Limit</Message>
</SlideShareServiceError>