diff --git a/src/Plugin/migrate/source/d7/ScaldAtom.php b/src/Plugin/migrate/source/d7/ScaldAtom.php
new file mode 100644
index 0000000..c18c00a
--- /dev/null
+++ b/src/Plugin/migrate/source/d7/ScaldAtom.php
@@ -0,0 +1,85 @@
+<?php
+
+namespace Drupal\media_entity\Plugin\migrate\source\d7;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+
+/**
+ * Drupal 7 node source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_scald_atom",
+ *   source_provider = "scald"
+ * )
+ */
+class ScaldAtom extends FieldableEntity {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('scald_atoms', 's')
+      ->fields('s', array(
+        'sid',
+        'provider',
+        'type',
+        'base_id',
+        'language',
+        'publisher',
+        'actions',
+        'title',
+        'data',
+        'created',
+        'changed',
+      ));
+
+    if (isset($this->configuration['atom_type'])) {
+      $query->condition('s.type', $this->configuration['atom_type']);
+    }
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    // Get Field API field values.
+    foreach (array_keys($this->getFields('scald_atom', $row->getSourceProperty('type'))) as $field) {
+      $sid = $row->getSourceProperty('sid');
+      $row->setSourceProperty($field, $this->getFieldValues('scald_atom', $field, $sid));
+    }
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = array(
+      'sid' => $this->t('Scald Atom ID'),
+      'provider' => $this->t('Prider module name'),
+      'type' => $this->t('Scald Atom type'),
+      'base_id' => $this->t('Scald Atom base ID'),
+      'language' => $this->t('Scald Atom language'),
+      'publisher' => $this->t('Scald Atom publisher (User ID)'),
+      'actions' => $this->t('Available Scald actions'),
+      'title' => $this->t('Scald Atom title'),
+      'data' => $this->t('Scald Atom data'),
+      'created' => $this->t('Created timestamp'),
+      'changed' => $this->t('modified timestamp'),
+    );
+    return $fields;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['sid']['type'] = 'integer';
+    $ids['sid']['alias'] = 's';
+    return $ids;
+  }
+
+}
