Crowdin API Documentation

What can I do with the API?

Well, lots. The Crowdin API provides secure programmatic access to the Crowdin service, allowing you to build cool and useful tools and services on top plus you can integrate Crowdin with your development process to reach continuous localization.

How to integrate Crowdin with my deployment process?

The Crowdin API uses a RESTful style using XML over HTTP. For HTTP requests used only POST method.

Making requests

For every API request you make, you'll need to present the API access key as "key" URI parameter to be authenticated. The authentication API key can be found on the project settings page the "API" tab. Keep the API key secret! It should be guarded just as you would your regular account password.

Here's an example and principle of forming API request URI.

  http://crowdin.net/api/project/test/upload-translation?key=9b4034f446587e5062e8d48eb5a07cdc

Crowdin API has a single point of entry for all requests: http://crowdin.net/api/project/. After goes project identifier (test in example above) and needed action (upload-translation in example). API access key is specified as a URI parameter.

Responses

All Crowdin API responses are composed of light-weight XML and wrapped in a top-level error or success element. Upon a successful call the API will return a single empty element <success/>. Otherwise, on any error condition will return a <error> object containing error code and error message information.

Sample unsuccessful response
  
    3
    API key is not valid
  
Error codes explanation
0: Internal error
1: The Project Identifier value passed in was not valid.
2: Invalid API method specified.
3: The API key pass was not valid.
4: The files HTTP POST variable is required and must be provided.
5: You're trying to add already existing file.
6: An error ocurred while uploading file.
7: Invalid file extension provided.
8: Requested file not found.

API Methods

Detailed instructions on the methods available with the Crowdin API and how to use them.

Add new files to the project

Method Nameadd-file
Request TypePOST
Request Parametersfiles[], key
Responsexml

Example

curl -F "files[strings.xml]=@strings.xml" http://crowdin.net/api/project/{your-project-identifier}/add-file?key=fb7ced95a4cf4ac4cdea11fde78fafc5

Update Files

Method Nameupdate-file
Request TypePOST
Request Parametersfiles[], key
Responsexml

Example

curl -F "files[strings.xml]=@strings.xml" http://crowdin.net/api/project/{your-project-identifier}/update-file?key=fb7ced95a4cf4ac4cdea11fde78fafc5

Delete file

Method Namedelete-file
Request TypePOST
Request Parametersfile, key
Responsexml

Example

curl -F "file=strings.xml" http://crowdin.net/api/project/{your-project-identifier}/delete-file?key=fb7ced95a4cf4ac4cdea18fde78fafc5

Upload translations

Method Nameupload-translation
Request TypePOST
Request Parametersfiles[], key
Responsexml

Example

curl -F "files[strings.xml]=@strings.fr.xml" http://crowdin.net/api/project/{your-project-identifier}/upload-translation?key=fb7ced95a44f4ac4cdea14fde78fafc5

Get project translation status

Method Namestatus
Request TypePOST
Request Parameterskey, [json, xml, jsonp]
Responsexml/json/jsonp

Example

curl http://crowdin.net/api/project/{your-project-identifier}/status?key=1e58796053323325d97bb19b19ca7391&jsonp=test

If jsonp parameter defined it should specify JavaScript callback function name. xml and json parameters do not require any values. Default output format is XML.


Download translations

Method Namedownload
Request TypeGET
Request Parameterspackage, key
Responsezip file

Example

Download translations for all languages as single package.
wget http://crowdin.net/api/project/{your-project-identifier}/download/all.zip?key=fb7ced95a4cf4ac4cdea14fde78fafc5
Download French translations.
wget http://crowdin.net/api/project/{your-project-identifier}/download/fr.zip?key=fb7ced95a4cf4ac4cdea14fde78fafc5

Need help working with the API? Contact us.


Translation Memory API Access

The Crowdin API utilizes the REST architecture, with requests made via HTTP and responses returned in JSON format. (We may support XML responses in the upcoming versions)

With our API you will be able to receive Translation Memory suggestions by specified phrase and languages pair. Calls to the Crowdin API will not require any key or authentication token for your requesting application.

Currently Crowdin API is not ready yet, subscribe to our RSS feed to be notified about release date.