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

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
  • exclude_tagsExclude tags from the detailed information. 1 to exclude.
  • detailedWhether 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 title }
  { slideshow description }
  { 0 if queued for conversion, 1 if converting, 2 if converted,
            3 if conversion failed }
  
  { username }
  { web permalink }
  { thumbnail URL }
  { URL of smaller thumbnail }
  { embed code }
  { date slideshow created }
  { date slideshow was last update }
  { language, as specified by two-letter code }
  ppt (or pdf, pps, odp, doc, pot, txt, rdf) 
  { 1 if available to download, else 0 }
  { returns if available to download }
  { 0 if presentation, 1 if document, 2 if a portfolio, 
    3 if video }
  { 1 if part of a contest, 0 if not }
  { userID }
  { ExternalAppUserID if uploaded using an
         external app }
  { ExternalAppID for the external app }
  { PPTLocation }
  { Stripped Title }
  
  { tag name }
  
  
  
  { number of downloads }
  { number of views }
  { number of comments }
  { number of favorites }
  { number of slides }
  
    
    { slideshow id } 
  
  { 0, or 1 if private }
  { 1, or 0 if slideshow has been flagged }
  { 0, or 1 if not to be shown on Slideshare }
  { 0, or 1 if secret URL is enabled }
  { 0, or 1 if embeds are allowed }
  { 0, or 1 if set to private, but contacts can view
                       slideshow }
  

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 }
  { Number of Slideshows }
  
    { as in get_slideshow }
  
  ...

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 }
  { Number of Slideshows }
  
    { as in get_slideshow }
  
  ...

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.
  • get_unconverted Whether or not to include unconverted slideshows. 1 to include them, 0 (default) otherwise.
Response XML Format

  { username_for }
  { Number of Slideshows }
  
    { as in get_slideshow }
  
  ...

Slideshow Search

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')
  • upload_date The time period you want to restrict your search to. 'week' would restrict to the last week. (default is 'any') ('week', 'month', 'year')
  • 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)
  • file_type File type to search for. Default is "all". ('presentations', 'documents', 'webinars','videos')
  • cc Set to '1' to retrieve results under the Creative Commons license. Default is '0'
  • cc_adapt Set to '1' for results under Creative Commons that allow adaption, modification. Default is '0'
  • cc_commercialSet to '1' to retrieve results with the commercial Creative Commons license. Default is '0'
  • detailed Whether or not to include optional information. 1 to include, 0 (default) for basic information.
Response XML Format


  { query }
  { the offset of this result (if pages were used)}
  
  { number of results returned }
  { total number of results}


  {as in get_slideshow}

...

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

  
    { Group Name }
    { Number of Posts }
    { Number of Slideshows }
    { Number of Members }
    { Created date }
    { Name used for querying (get_slideshows_by_group, etc) }
    
    { Group URL }
  
  ...

Get User Favorites

Required parameters
  • username_for username of user whose Favorites are being requested
Response XML Format

  
    { Slideshow id }
    { Tags }
  
  ...

Get User Contacts

Required parameters
  • username_for username of user whose Contacts are being requested
Optional parameters
  • limit specify number of items to return
  • offset specify offset
Response XML Format

  
    { Username }
    { Number of Slideshows }
    { Number of Comments made by the contact }
  
  ...

Get User Tags

Required parameters
  • username username of the requesting user
  • password password of the requesting user
Response XML Format

  { Tag name }
  ...

Edit Existing Slideshow

Required parameters
  • username username of the requesting user
  • password password of the requesting user
  • 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
  • strong>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

  SlideShowID

Delete Slideshow

Required parameters
  • username username of the requesting user
  • password password of the requesting user
  • slideshow_id slideshow ID
Response XML Format

  SlideShowID

Upload Slideshow

Note: This method requires extra permissions. If you want to upload a file using SlideShare API, please send an email to api@slideshare.com with your developer account username describing the use case.

Required parameters
  • username username of the requesting user
  • password password of the requesting user
  • slideshow_title slideshow's title
  • slideshow_srcfile slideshow file (requires HTTPS POST) -OR-
  • upload_url string containing an url pointing to the power point file: ex: http://domain.tld/directory/my_power_point.ppt
  • The following urls are also acceptable

    • http://www.domain.tld/directory/file.ppt
    • http://www.domain.tld/directory/file.cgi?filename=file.ppt

    Note, that this will not accept entries that cannot be identified by their extension. If you sent
    http://www.domain.tld/directory/file.cgi?id=2342
    We will not be able to identify the type of the file!

Optional parameters
  • slideshow_description description
  • slideshow_tags tags should be comma separated
  • 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_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

  {slideshow id goes here}

The slideshare ID will be necessary for retrieving the slideshow embed code, once the slideshow has been converted into flash.

Favorite Slideshow

Required parameters
  • username username of the requesting user
  • password password of the requesting user
  • slideshow_id the slideshow to be favorited
Response XML Format

  SlideShowID

Check Favorite

Required parameters
  • username username of the requesting user
  • password password of the requesting user
  • slideshow_idSlideshow which would be favorited
Response XML Format

  SlideShowID
  User ID
  true: Slideshow was favorited, false otherwise

Get Campaign Information

Required parameters
  • username username of the requesting user
  • password password of the requesting user
Response XML Format

    
        {int}
        {name of campaign}
        {int}
        {true or false}
        {true or false}
        
        {tag targeted(if any)}
        {call to action text}
        {offer text}
        {datetime}
        {datetime}
        {datetime}
        {datetime}
        {datetime}
        {$} 
        {$}
        {end or middle}
        {true or false}
        {true or false}
        {true or false}
        {txt: Running, Paused, Stopped
    
    ?
    
        {int}
        {name of campaign}
        {int}
        {name of country}
        {tag targeted(if any)}
        {datetime}
        {datetime}
        {datetime}
        {datetime}
        {datetime}
        {$}
        {category name}
        {category or contextual}
        {$}
        {int}
        {int}
        {int}
        {int}
        {float}
        {text: can be "userAction", "dailyLimit", or 
        "noFund"}
        {txt: Running, Paused, Stopped
    
    ?

Get Leads Information For ALL Campaigns

Required parameters
  • username username of the requesting user
  • password password of the requesting user
Optional parameters
  • begin only get leads collected after this UTC date: YYYYMMDDHHMM
  • end only get leads collected before this UTC date: YYYYMMDDHHMM

Note: January 18th, 2010.
We have changed the field to ,

For ruby/C people this is: strftime("%Y%m%d%H%M")
We realize that we asking for input dates in UTC, but give out information in MNT time is funny, but we will fix this in the next revision.

Response XML Format
    

    
        {int}
        {txt}
        {txt}
        
{txt} {datetime} {int} {datetime} {datetime} {txt} {txt} {txt} {txt} {txt} {txt} {txt: download, sidebar, or player} {datetime} {datetime} {int} {$} {txt} {txt} ?

Get User Leads Information For A Specific Lead Campaign

Required parameters
  • username username of the requesting user
  • password password of the requesting user
  • campaign_id campaign_id to select the leads from
Optional parameters
  • begin only get leads collected after this UTC date: YYYYMMDDHHMM
  • end only get leads collected before this UTC date: YYYYMMDDHHMM

Note: January 18th, 2010.
We have changed the field to ,

For ruby/C people this is: strftime("%Y%m%d%H%M")
We realize that we asking for input dates in UTC, but give out information in MNT time is funny, but we will fix this in the next revision.

Response XML Format
    

    
        {int}
        {txt}
        {txt}
        
{txt} {datetime} {int} {datetime} {datetime} {txt} {txt} {txt} {txt} {txt} {txt} {txt: download, sidebar, or player} {datetime} {datetime} {int} {$} {txt} {txt} ?

API Error Codes

Our API will return an error code in case an error has occured while processing

    
       No API Key Provided
    

The different kind of errors thrown by the API are listed below

  • 0 No API Key Provided
  • 1 Failed API validation
  • 2 Failed User authentication
  • 3 Missing title
  • 4 Missing file for upload
  • 5 Blank title
  • 6 Slideshow file is not 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
  • 14 Required Parameter Missing
  • 15 Search query cannot be blank
  • 16 Insufficient permissions
  • 17 Incorrect parameters
  • 70 Account already linked
  • 71 No linked account found
  • 72 User not created
  • 73 Invalid Application ID
  • 74 Login already exists
  • 75 EMail already exists
  • 99 Account Exceeded Daily Limit
  • 100 Your Account has been blocked

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 uploads are limited to 100 per day per API_Key. Calls that exceed this limit will receive an error message in the following format.

    
      Account Exceeded Daily Limit
     

In case your application needs to upload more than 100 presentations per day, e-mail us about your requirements.