Help

Re: Mass download attachments?

7302 5
cancel
Showing results for 
Search instead for 
Did you mean: 
Tyson_VanOverhi
5 - Automation Enthusiast
5 - Automation Enthusiast

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 17
drassi
6 - Interface Innovator
6 - Interface Innovator

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

Moe
10 - Mercury
10 - Mercury

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.

Screen Shot 2020-01-10 at 1.38.13 AM

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.

Jose_Alberto_Fu
6 - Interface Innovator
6 - Interface Innovator

This should be a priority in Airtable roadmap…

erick_osmanto
5 - Automation Enthusiast
5 - Automation Enthusiast

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

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.

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

______________________________________
Hannah - On2Air.com - Automated Backups for Airtable

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.

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

B111
5 - Automation Enthusiast
5 - Automation Enthusiast

yes, at ~$1 per record, correct?

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.

Zvi
5 - Automation Enthusiast
5 - Automation Enthusiast

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
6 - Interface Innovator
6 - Interface Innovator

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.

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.