API Key
To use the API to query Fotolia's database, you must first obtain an API key. API keys can be obtained from the “Toolbox” section of your account and completing the API form. Three kinds of API keys are available: Partner API keys, Developer API keys, and Business API keys. Please see the chart below to review the features of each API key. You may obtain multiple API keys simply by applying for different keys.
Terms of Use
The API Terms of Use governs the rights and conditions in which each API may be used. Please review the API Terms of Use for the appropriate API before using it.
Encoding
The Fotolia API requires that all data to be UTF-8 encoded. More information about UTF-8 encoding
Deprecated XML-RPC API
If you already implemented our API using the deprecated XML-RPC server, you can still access the documentation. We strongly encourage you to use the new REST API, as no further updates to the deprecated XML-RPC server will be made.
Authentication
Some methods need to be authenticated (see table below). Authentication is only available for the Developer and Business APIs. The process of authentication is equivalent to login process of the Fotolia website. The login and password must be sent securely through the API and when authenticated a session ID is provided. This session ID will then be needed to use methods with authentication. For more information about authentication, please see loginUser method.
API Calls Quota
Fotolia limits the number of API calls by default to 500 per hour and 10,000 per day.
If you expect traffic to be higher, please contact support.
Methods
Methods make it possible to execute different functions through the API. The following table has information about the methods available within each API Type.
| Methods | Partner API | Business API | Developer API | Reseller API | Authentication | Description | ||
|---|---|---|---|---|---|---|---|---|
| Search | ||||||||
| getSearchResults | ![]() |
![]() |
![]() |
![]() |
no | full search capabilities | ||
| getCategories1 | ![]() |
![]() |
![]() |
![]() |
no | return representative categories | ||
| getCategories2 | ![]() |
![]() |
![]() |
![]() |
no | return conceptual categories | ||
| getTags | ![]() |
![]() |
![]() |
![]() |
no | return tag cloud | ||
| getGalleries | ![]() |
![]() |
![]() |
![]() |
no | return public galleries | ||
| getSeasonalGalleries | ![]() |
![]() |
![]() |
![]() |
no | return seasonal galleries | ||
| getCountries | ![]() |
![]() |
![]() |
![]() |
no | return countries list | ||
| Media | ||||||||
| getMediaData | ![]() |
![]() |
![]() |
![]() |
no | return all information about a media | ||
| getBulkMediaData | ![]() |
![]() |
![]() |
![]() |
no | return all information about one or more media | ||
| getMediaGalleries | ![]() |
![]() |
![]() |
![]() |
no | return galleries attached to a media | ||
| getMedia | ![]() |
![]() |
![]() |
![]() |
yes | return download link (media purchase) | ||
| getMediaComp | ![]() |
![]() |
![]() |
![]() |
no | return url of the comp image | ||
| getHomePageImages | ![]() |
![]() |
![]() |
![]() |
Non | return images features on the homepage | ||
| User | ||||||||
| loginUser | ![]() |
![]() |
![]() |
![]() |
no | log a user (needed for authentification) | ||
| refreshToken | ![]() |
![]() |
![]() |
![]() |
no | Renew authentication token | ||
| userSignUp | ![]() |
![]() |
![]() |
![]() |
no | Create a new Fotolia user | ||
| userEditProfile | ![]() |
![]() |
![]() |
![]() |
yes | Update the profile of a Fotolia's member | ||
| getUserData | ![]() |
![]() |
![]() |
![]() |
yes | return information about the logged user | ||
| getSalesData | ![]() |
![]() |
![]() |
![]() |
yes | return sales data of the logged in user | ||
| getUserStats | ![]() |
![]() |
![]() |
![]() |
yes | return account statistics of the logged user | ||
| getUserGalleries | ![]() |
![]() |
![]() |
![]() |
yes | return galleries of the logged user | ||
| getUserGalleryMedias | ![]() |
![]() |
![]() |
![]() |
yes | return the lightbox/gallery content of a logged user | ||
| deleteUserGallery | ![]() |
![]() |
![]() |
![]() |
yes | Delete a gallery from the logged user | ||
| createUserGallery | ![]() |
![]() |
![]() |
![]() |
yes | create a new gallery for the logged user | ||
| addToUserGallery | ![]() |
![]() |
![]() |
![]() |
yes | add a content to a gallery of the logged user | ||
| removeFromUserGallery | ![]() |
![]() |
![]() |
![]() |
yes | remove a content from a galley of the logged user | ||
| user.moveUpMediaInUserGallery | ![]() |
![]() |
![]() |
![]() |
yes | move up a media in an user galleryr | ||
| user.moveDownMediaInUserGallery | ![]() |
![]() |
![]() |
![]() |
yes | move down a media in an user gallery | ||
| user.moveMediaToTopInUserGallery | ![]() |
![]() |
![]() |
![]() |
yes | move a media to top position in an user gallery | ||
| getUserAdvancedStats | ![]() |
![]() |
![]() |
![]() |
yes | return advanced account statistics of the logged user | ||
| getLastOnlineContents | ![]() |
![]() |
![]() |
![]() |
Oui | Return last online files of the current user | ||
| getUploadFolders | ![]() |
![]() |
![]() |
![]() |
Oui | Return the upload folders list of the authenticated contributor | ||
| getUploadFolderFileIds | ![]() |
![]() |
![]() |
![]() |
Yes | return file IDs inside an upload folder | ||
| uploadIdCard | ![]() |
![]() |
![]() |
![]() |
Yes | Upload a new contributor ID card | ||
| uploadIdCard | ![]() |
![]() |
![]() |
![]() |
Yes | Upload a new contributor ID card | ||
| upload | ![]() |
![]() |
![]() |
![]() |
Yes | Upload a new file into user's account | ||
| getLastUploadedMedia | ![]() |
![]() |
![]() |
![]() |
Yes | List the uploads made the last 7 days | ||
| Shopping cart | ||||||||
| shoppingcart.getList | ![]() |
![]() |
![]() |
![]() |
yes | Returns shopping cart content | ||
| shoppingcart.add | ![]() |
![]() |
![]() |
![]() |
yes | Add a media to the user's shopping cart | ||
| shoppingcart.update | ![]() |
![]() |
![]() |
![]() |
yes | Update a media into the user's shopping cart | ||
| shoppingcart.remove | ![]() |
![]() |
![]() |
![]() |
yes | Remove a media from the user's shopping cart | ||
| shoppingcart.transferToLightbox | ![]() |
![]() |
![]() |
![]() |
yes | Remove a media from the user's shopping cart and add to to his lightbox | ||
| shoppingcart.clear | ![]() |
![]() |
![]() |
![]() |
yes | Clear the user's shopping cart | ||
| Main | ||||||||
| getData | ![]() |
![]() |
![]() |
![]() |
no | retun general information about Fotolia | ||
| test | ![]() |
![]() |
![]() |
![]() |
no | return success | ||
| Reseller API | ||||||||
| user.subaccount.getIds | ![]() |
![]() |
![]() |
![]() |
no | Returns an array of all available subaccount IDs | ||
| user.subaccount.create | ![]() |
![]() |
![]() |
![]() |
no | Create a reseller subaccount | ||
| user.subaccount.delete | ![]() |
![]() |
![]() |
![]() |
no | Delete a reseller subaccount | ||
| user.subaccount.edit | ![]() |
![]() |
![]() |
![]() |
no | Update data of a reseller subaccount | ||
| user.subaccount.get | ![]() |
![]() |
![]() |
![]() |
no | Get reseller subaccount details | ||
| user.subaccount.getPurchasedContents | ![]() |
![]() |
![]() |
![]() |
no | Get the list of purchases made by a subaccount | ||
| media.getLicense | ![]() |
![]() |
![]() |
![]() |
no | Get the licence between the reseller and his customer for a specific sale. | ||
Query Format
HTTP
The Fotolia API is a REST API, available via standard HTTP calls, using the method GET for read-only methods, the method POST for methods that modify data or log the user in, and the standard query string to pass arguments.
More information about REST.
To use the REST API, each request must be sent using your API key as the HTTP username, and either an empty string (for public methods) or a session token (for methods that require authentication) as the HTTP password.
Base URL
The base URL for the REST API is: http://api.fotolia.com/Rest/1/
Return format
The data returned by the REST API is formatted in JSON, a format that can be parsed with most modern programming languages.
More information about JSON.
Query Example
In this example, we call the method main/test with the API key 'exampleApiKey' as the HTTP username, and an empty HTTP password since the method is public. The authorization header thus uses the base64 encoded string 'exampleApiKey:'.
GET /Rest/1/main/test HTTP/1.0
Host: api.fotolia.com
Authorization: Basic ZXhhbXBsZUFwaUtleTo=
Methods that are called using GET may also be called directly by URL, so URL in this example would be: http://exampleApiKey:@api.fotolia.com/Rest/1/main/test
Response Example
{
"test":"Success"
}
API Kits
You can use a kit in order to help simplify API use. A list of kits available is listed below. Please contact us to have your kit listed.


