Skip to main content

Mass download attachments?


I have a records with attachments that I have filtered down to just what I want to download. Is there a way to download all the attachments of the filtered records? Or do I have to walk through each record downloading each individually?

17 replies

  • Inspiring
  • 38 replies
  • October 11, 2018

Just through the airtable website, no I don’t think there’s any mass download option.


If you are going to do it often, or if you have a huge number of downloads, you can write a script using the airtable API. The API lets you specify a particular view to list, and contains attachment URLs that you can fetch from your script



  • Inspiring
  • 368 replies
  • January 9, 2020

For those who are not technical, we built a tool that allows anyone to Bulk Download Attachments from Airtable instead of downloading each record individually. You can also limit it to only export attachments from a specific Airtable view.



  • New Participant
  • 1 reply
  • March 25, 2020
Moe wrote:

For those who are not technical, we built a tool that allows anyone to Bulk Download Attachments from Airtable instead of downloading each record individually. You can also limit it to only export attachments from a specific Airtable view.



Please just integrate a function to allow bulk downloading… it’s been YEARS without any such function. Second-rate.


JoshuaUser wrote:

Please just integrate a function to allow bulk downloading… it’s been YEARS without any such function. Second-rate.


^ bump. this would be really great and save tons of time.


This should be a priority in Airtable roadmap…


Yes this would be really helpful in my current project


Alexey_Gusev
Forum|alt.badge.img+12
erick_osmanto wrote:

Yes this would be really helpful in my current project


Hi,


insert new field with formula (set your field name)


IF({Attachments},

SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(

'curl -o "' &{Attachments},

'(https:','" https:'

),')',''),

',',' & curl -o "')

)


copy whole column. paste it to cmd window

may be a bit bugged if filename contains round brackets or comma


  • New Participant
  • 1 reply
  • July 27, 2022
Alexey_Gusev wrote:

Hi,


insert new field with formula (set your field name)


IF({Attachments},

SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(

'curl -o "' &{Attachments},

'(https:','" https:'

),')',''),

',',' & curl -o "')

)


copy whole column. paste it to cmd window

may be a bit bugged if filename contains round brackets or comma


Here’s a cleaner formula.

(limitation: it only gets the first attachment).


IF(

  {Attachment},

  'curl -o "' &

  SUBSTITUTE(

    SUBSTITUTE(

      REGEX_REPLACE(

        SUBSTITUTE({Attachment}, '"', ''),

        '(.*?) \\(https(.*?)\\)',

        '$1" "https$2"'

      ),

      '(',

      ''

    ),

    ')',

    ''

  )

)


Copy then the content of the formula column, paste it on a file batch_dl.sh and then run it sh ./batch_dl.sh.


erick_osmanto wrote:

Yes this would be really helpful in my current project


You can do this with our On2Air Backups extension. It exports all table data and attachments to Google Drive, Dropbox, or Box.







  • Participating Frequently
  • 6 replies
  • October 20, 2022
Alexey_Gusev wrote:

Hi,


insert new field with formula (set your field name)


IF({Attachments},

SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(

'curl -o "' &{Attachments},

'(https:','" https:'

),')',''),

',',' & curl -o "')

)


copy whole column. paste it to cmd window

may be a bit bugged if filename contains round brackets or comma


Hi Alexey,


Thanks for this, however is there anyway to output the filename to include another field? For example if multiple attachments are all called image.jpg it will only download one copy.


Can you add another {field} so the filename outputs differently? For example I have a Service_ID field that is an autonumber. So my ideal output would be “230 - image.jpg” 245 - image.jpg" “734 - image.jpg” for instance.


Thank you very much.


Alexey_Gusev
Forum|alt.badge.img+12
  • Inspiring
  • 1111 replies
  • October 24, 2022
MikeKennedy wrote:

Hi Alexey,


Thanks for this, however is there anyway to output the filename to include another field? For example if multiple attachments are all called image.jpg it will only download one copy.


Can you add another {field} so the filename outputs differently? For example I have a Service_ID field that is an autonumber. So my ideal output would be “230 - image.jpg” 245 - image.jpg" “734 - image.jpg” for instance.


Thank you very much.


Hi

insert &{field}&' - '

after each curl -o "'


should be


IF({Attachments},

SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(

'curl -o "'&{field}&' - ' &{Attachments},

'(https:','" https:'

),')',''),

',',' & curl -o "'&{field}&' - ')

)


watch for commas/quotes in {field} value. I’ve tested it - okay, but when I have "Done,Rejected,Pending" - it works wrong. Too busy now to debug and correct.


  • Participating Frequently
  • 6 replies
  • October 25, 2022
Alexey_Gusev wrote:

Hi

insert &{field}&' - '

after each curl -o "'


should be


IF({Attachments},

SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(

'curl -o "'&{field}&' - ' &{Attachments},

'(https:','" https:'

),')',''),

',',' & curl -o "'&{field}&' - ')

)


watch for commas/quotes in {field} value. I’ve tested it - okay, but when I have "Done,Rejected,Pending" - it works wrong. Too busy now to debug and correct.


Perfect, thanks! I couldn’t get the correct combo of '&{


  • New Participant
  • 2 replies
  • February 18, 2023
Moe wrote:

For those who are not technical, we built a tool that allows anyone to Bulk Download Attachments from Airtable instead of downloading each record individually. You can also limit it to only export attachments from a specific Airtable view.



yes, at ~$1 per record, correct?


JoshuaUser wrote:

Please just integrate a function to allow bulk downloading… it’s been YEARS without any such function. Second-rate.


An entry requested urgently to include a function to mass download attachments was created in 2020, and there is no implementation.   That development should have been created BEFORE setting an expiration date to URLs to attachments.  This is not the right way AirTable.


  • Participating Frequently
  • 6 replies
  • May 25, 2023

Jumping in for anyone who finds this thread in the future - I have created a (paid) Airtable extension that allows you to download multiple attachments, it has two modes "remote download" and "local script", you can read more about the differences in this blog post I wrote.

Hope this would save someone many hours of manually downloading 🙂


ng010105
  • Participating Frequently
  • 12 replies
  • July 3, 2023

Jumping in for anyone who finds this thread in the future -

I have created a (Free) python script that allows you to download your attachments,

you can read the code I wrote on github https://github.com/garygng/Airtable_python.


ng010105
  • Participating Frequently
  • 12 replies
  • July 3, 2023
Francisco_Frank wrote:

An entry requested urgently to include a function to mass download attachments was created in 2020, and there is no implementation.   That development should have been created BEFORE setting an expiration date to URLs to attachments.  This is not the right way AirTable.


Jumping in for anyone who finds this thread in the future -

I have created a (Free) python script that allows you to download your attachments,

you can read the code I wrote on github https://github.com/garygng/Airtable_python.


Reply