Contentful is a content management platform for web applications, mobile apps and connected devices. It allows you to create, edit & manage content in the cloud and publish it anywhere via powerful API. Contentful offers tools for managing editorial teams and enabling cooperation between organizations.
This is a command line tool (CLI) that allows you to backup your published Content Model, Content and Assets or move them to a new Contentful space. It will support Editor Interfaces, Webhooks and Roles & Permissions in a future version.
To import your data, please refer to the contentful-import repository.
We recommend the installation of this CLI via npm:
npm install -g contentful-export
Usage: contentful-export [options]
Options:
--version Show version number
--space-id ID of Space with source data
[string] [required]
--management-token Management API token for the space to be exported.
[string] [required]
--export-dir Defines the path for storing the export json file
(defaultpath is the current directory) [string]
--config Configuration file with required values
The --management-token
parameter allows you to specify a token used for both spaces. If you request a token from here and your user account has access to both spaces, this should be enough.
Check the example-config.json file for an example of what a configuration file would look like. If you use the configuration file, you don't need to specify the other options for tokens and space ids.
contentful-export \
--space-id spaceID \
--management-token managementToken
or
contentful-export --config example-config.json
You can create your own configuration file based on the example-config.json file.
This is an overview of the data exported.
{
"contentTypes": [],
"entries": [],
"locales": [],
"assets": [],
"webhooks": [],
"editorInterfaces": []
}
While this tool is intended to be used as a command line tool, you can also use it as a Node library:
var spaceExport = require('contentful-export')
spaceExport(options)
.then((output) => {
console.log('space data', output)
})
.catch((err) => {
console.log('oh no! errors occurred!', err)
})
The options
object can contain any of the CLI options, but written with a camelCase pattern instead, and no dashes. For example --space-id
would become spaceId
.
Another option is errorLogFile
, the location of a file to log errors to.
- This tool exports only your published Content Model, Content and Assets. It will support Editor Interfaces, Webhooks and Roles & Permissions in a future version. Draft entries are not supported.
- You can only export the content exported by this tool into an empty space. We currently do not support merging content into pre-existing spaces.
- If you have custom widgets, you need to reinstall them manually in the new space.
Read the releases page for more information.
This project is licensed under MIT license