diff --git a/src/main/java/org/eclipsefoundation/marketplace/dto/Listing.java b/src/main/java/org/eclipsefoundation/marketplace/dto/Listing.java
index 89b8e4cd79453c2081308ccd3776f8aaf02844b1..cbc107c7c80f2b603a6567238a252057df5cdd0a 100644
--- a/src/main/java/org/eclipsefoundation/marketplace/dto/Listing.java
+++ b/src/main/java/org/eclipsefoundation/marketplace/dto/Listing.java
@@ -59,6 +59,7 @@ public class Listing extends NodeBase {
 	private String license;
 	private List<String> marketIds;
 	private List<String> categoryIds;
+	private List<String> screenshots;
 	private List<Category> categories;
 	private Organization organization;
 	private List<Author> authors;
@@ -75,6 +76,7 @@ public class Listing extends NodeBase {
 		this.marketIds = new ArrayList<>();
 		this.categoryIds = new ArrayList<>();
 		this.categories = new ArrayList<>();
+		this.screenshots = new ArrayList<>();
 	}
 
 	/**
@@ -290,6 +292,20 @@ public class Listing extends NodeBase {
 		this.marketIds = new ArrayList<>(marketIds);
 	}
 
+	/**
+	 * @return the screenshots
+	 */
+	public List<String> getScreenshots() {
+		return new ArrayList<>(screenshots);
+	}
+
+	/**
+	 * @param screenshots the screenshots to set
+	 */
+	public void setScreenshots(List<String> screenshots) {
+		this.screenshots = new ArrayList<>(screenshots);
+	}
+
 	/**
 	 * @return the categories
 	 */
@@ -394,7 +410,8 @@ public class Listing extends NodeBase {
 				&& Objects.equals(logo, other.logo) && Objects.equals(organization, other.organization)
 				&& Objects.equals(status, other.status) && Objects.equals(supportUrl, other.supportUrl)
 				&& Objects.equals(tags, other.tags) && Objects.equals(teaser, other.teaser)
-				&& updateDate == other.updateDate && Objects.equals(versions, other.versions);
+				&& updateDate == other.updateDate && Objects.equals(versions, other.versions)
+				&& Objects.equals(screenshots, other.screenshots);
 	}
 
 	@Override
@@ -421,6 +438,7 @@ public class Listing extends NodeBase {
 		sb.append(", authors=").append(authors);
 		sb.append(", tags=").append(tags);
 		sb.append(", versions=").append(versions);
+		sb.append(", screenshots=").append(screenshots);
 		sb.append(']');
 		return sb.toString();
 	}
diff --git a/src/main/java/org/eclipsefoundation/marketplace/dto/codecs/ListingCodec.java b/src/main/java/org/eclipsefoundation/marketplace/dto/codecs/ListingCodec.java
index 944bf96d207ec1543a75b03f886a43c99a2acf7c..0ba97a394d8329c8c5fdd2ba1fd8ab942dc475c5 100644
--- a/src/main/java/org/eclipsefoundation/marketplace/dto/codecs/ListingCodec.java
+++ b/src/main/java/org/eclipsefoundation/marketplace/dto/codecs/ListingCodec.java
@@ -80,6 +80,7 @@ public class ListingCodec implements CollectibleCodec<Listing> {
 		doc.put(DatabaseFieldNames.CREATION_DATE, new Date(value.getCreationDate()));
 		doc.put(DatabaseFieldNames.FOUNDATION_MEMBER_FLAG, value.isFoundationMember());
 		doc.put(DatabaseFieldNames.CATEGORY_IDS, value.getCategoryIds());
+		doc.put(DatabaseFieldNames.SCREENSHOTS, value.getScreenshots());
 		doc.put(DatabaseFieldNames.MARKET_IDS, value.getMarketIds());
 
 		// for nested document types, use the converters to safely transform into BSON
@@ -120,6 +121,7 @@ public class ListingCodec implements CollectibleCodec<Listing> {
 		out.setFoundationMember(document.getBoolean(DatabaseFieldNames.FOUNDATION_MEMBER_FLAG));
 		out.setCategoryIds(document.getList(DatabaseFieldNames.CATEGORY_IDS, String.class));
 		out.setMarketIds(document.getList(DatabaseFieldNames.MARKET_IDS, String.class));
+		out.setScreenshots(document.getList(DatabaseFieldNames.SCREENSHOTS, String.class));
 
 		// for nested document types, use the converters to safely transform into POJO
 		out.setAuthors(document.getList(DatabaseFieldNames.LISTING_AUTHORS, Document.class).stream()
diff --git a/src/main/java/org/eclipsefoundation/marketplace/namespace/DatabaseFieldNames.java b/src/main/java/org/eclipsefoundation/marketplace/namespace/DatabaseFieldNames.java
index bad77d419d83968eb683170a0d8146b1dee5dca6..a205252b94b30705869b6599f07bc7e65ae6c370 100644
--- a/src/main/java/org/eclipsefoundation/marketplace/namespace/DatabaseFieldNames.java
+++ b/src/main/java/org/eclipsefoundation/marketplace/namespace/DatabaseFieldNames.java
@@ -48,6 +48,7 @@ public final class DatabaseFieldNames {
 	public static final String FEATURE_IDS = "feature_ids";
 	public static final String FEATURE_ID = "feature_id";
 	public static final String INSTALL_STATE = "install_state";
+	public static final String SCREENSHOTS = "screenshots";
 
 	// catalog fields
 	public static final String CATALOG_TABS = "tabs";
diff --git a/src/main/node/index.js b/src/main/node/index.js
index 5bbf210026abd738c85dab42ab9d7d7e96a94763..e5ccda6eaf3c57d0eda4fd4220cae7ad7a1476d3 100644
--- a/src/main/node/index.js
+++ b/src/main/node/index.js
@@ -72,7 +72,7 @@ function createListing(count) {
   
   console.log(`Generating listing ${count} of ${max}`);
   var json = generateJSON(uuid.v4());
-  axios.post(argv.s+"/listings/", json)
+  instance.put(argv.s+"/listings/", json)
     .then(() => {
       var installs = Math.floor(Math.random()*argv.i);
       console.log(`Generating ${installs} install records for listing '${json.id}'`);
@@ -152,7 +152,8 @@ function generateJSON(id) {
   	],
   	"versions": solutions,
 	"market_ids": splice(marketIds).splice(0,Math.ceil(Math.random()*2)),
-  	"category_ids": splice(categoryIds).splice(0,Math.ceil(Math.random()*5))
+  "category_ids": splice(categoryIds).splice(0,Math.ceil(Math.random()*5)+1),
+	"screenshots": ["http://www.example.com/img/sample.png"]
   };
 }