A Contentful Content management token: you can create one under Settings > API keys > Content management tokens and then clicking the Generate personal token button:
Your DatoCMS full-access API token: create a new project, and then head to Settings > API tokens:
To import all the entries and assets of your Contentful space into DatoCMS, run the following in the console, making sure to replace the placeholder values with the tokens and IDs of your project:
dato contentful-import --datoCmsToken=<apiToken> --contentfulToken=<apiToken> --contentfulSpaceId=<spaceId>
The tool accepts some additional advanced options:
Use --skipContent
to only import the schema, not entries and assets;
Use --datoCmsEnvironment=<environmentName>
to import content into a specific DatoCMS environment instead of the primary one;
Use --includeOnly <contentType1> <contentType2>...
to only import specific content types from Contentful
Although highly compatible, there are some minor differences between the types of fields that Contentful offers compared to DatoCMS, so the tool will follow the following migration rules:
DatoCMS doesn't provide an array of strings field, so data of this kind will be converted in a single string field with comma separated values;
Contentful API doesn't expose presentation settings for fields, so all text fields will be set as Markdown editors (you will be able to change the presentation mode later from the DatoCMS interface);
DatoCMS doesn't allow a long text field to be the Model title, so if that's the case no title field will be set;