Solved: How to Mass/Bulk Extract Image URLs/Links

keeks95
Shopify Partner
5 0 4

*Confirmed Working Method* - Just did this a few minutes ago and worked like a CHARM.

 

Since Shopify does not appear to want to help its customers whatsoever with the simplest of tasks like this export, we're on our own folks! After hours of trying to figure this out, here is a FREE way to pull & download every single link:

 

  • Install GraphiQL App for free
  • Be sure to tick 'Select All' in case you want to modify this query for future use

If you need to pull/download MORE than 200 product links, stay here. Otherwise, skip to the bottom of this.

  • Open a query and copy/paste the red text below:

mutation {
bulkOperationRunQuery(
query: """
{
files (query:"created_at:'$created_at'") {
edges {
node {
... on MediaImage {
image {
id
url
}
}
}
}
}
}
"""
) {
bulkOperation {
id
status
}
userErrors {
field
message
}
}
}

 

  • Depending on how many you need to pull, this could take a min, but it should be pretty fast. I had to pull ~25,000 and it completed in a minute or two (it's very quick!!).
  • Next, run this query to actually DOWNLOAD the file:

query {
currentBulkOperation {
id
status
errorCode
createdAt
completedAt
objectCount
fileSize
url
partialDataUrl
}
}

 

  • If you see 'Completed' with the Status line, then you're ready to download!
  • Copy the very long URL link you see a few lines below
    • keeks95_0-1684042466024.png
    • This is a JSONL file, which can easily be opened/copied in Notepad or as a TXT file and then into Excel/GoogleSheets
  • Once you successfully download the file, it will have both the file name and the corresponding URL.
    • You will need to do you own extraction of the link itself (i.e. use Excel to get the value before/after the "url:"
    • Be sure to mass-delate all of the '\'  so you have a working URL link

NOTE: If you want the  altText, height & width of the images along with the Name/URL, just add them as extra lines below the other options you are pulling.

 

 

If you need to pull/download LESS than 200 product links, follow below

  • Open a query and copy/paste the blue text below:

{
files (first:200, query:"created_at:'$created_at'") {
edges {
node {
... on MediaImage {
image {
id
url
}
}
}
}
}
}

  • This will retrieve the first 200 images in your Files/Content section, so if you have more than 200 there, use the first set of instructions.
  • You will need to do the copy/pasting/extracting from there.

 

Hope this is able to help someone so you aren't spending countless hours like I have on the most basic of tasks. Perhaps Shopify will listen to its customers in the future. Good luck 🙂

Reply 1 (1)

monero
Tourist
10 0 1

I found another solution but requires the Matrixify app. Get the app and generate the eBay listings template export. It has one field with all the images for each SKU separated by a pipe. Look for column AC (PicURL).