Automating Rote Reference: Fetching Bulk PDFs
Two ways to save time when you have to download a bunch of PDFs
When I left practice to become a law librarian, I was asked whether I’d find this new career as satisfying on an intellectual and creative level. At the time, I wasn’t sure of the answer myself, but now that I’m a few years in and things have settled down enough to make such comparisons, I’m happy to say that I do.
While there are certainly some tedious requests that I sometimes find myself wishing I could delegate to a paralegal or support staff, I’ve found that (1) the majority of my work requires a satisfying amount of creative thinking, and (2) I can usually automate the most tedious tasks.

This post will be the first in a series of posts called Automating Rote Reference. We’ll start with a type of reference request that probably elicits the most kvetching among my reference librarian friends: the PDF request.
The PDF Request
The PDF request typically arrives in the form of an email from a faculty member seeking digital copies of articles or cases they’d like to read. Finding an obscure source is one of the truly satisfying puzzles in reference work, but fulfilling a PDF request is usually just a matter of clicking through a couple links and finding the Download PDF button — a puzzle only in the sense that a five-piece jigsaw puzzle is still technically a puzzle.
To be honest, I don’t mind getting these requests because (1) they usually only take a minute or two, (2) I get a glimpse of what a faculty member is currently working on, and (3) the faculty member is grateful for a quick response. But the “bulk” PDF request (i.e., a request for more than a handful of cases or articles) is less fulfilling, since the repetition required by bulk requests makes it hard to ignore the tedious button-clicking nature of the task.
Luckily, repetition happens to be one thing code is very good at.
Automation Considerations
In deciding whether to automate a reference task, there are two questions I ask myself. First, would automating the task actually save time?

For example, while I could make a Chrome extension to check each citation in a bulk article request and automatically download the first PDF it finds in my library’s electronic articles catalog for each citation, I would then have to open and manually check each PDF to make sure it was the right source. Because request emails don’t always have consistent citation formatting or even the correct titles of the articles, the first result that shows up in the results list is often not the right article. Thus, the time I save in automating the retrieval of the PDFs would be significantly offset by the added time of having to check and correct the bot’s work in order to make sure each PDF was the right one.
So what, if anything, should be automated? It helps to break down the rote task into discrete steps. For a bulk PDF article request, I more or less do the following:
Open up a new tab.
Navigate to my library’s electronic articles catalog.
Go back to my first tab with the request email.
Copy (or remember) the article title (and, if needed, the author).
Go back to the catalog tab.
Paste (or type in) the article title and author into the form field.
Hit Enter.
Figure out which result has the right article.
Click on the right result.
Download the PDF.
Repeat Steps 3 - 10 for each article request.
Since we’ve established that doing Step 8 manually serves an important checking function, what I’m really looking for is just a way to avoid the dull repetition of going back and forth between tabs and transferring each article’s title from the email into the search field of the catalog. While there’s nothing difficult or individually time-consuming about these steps, the lag time involved and the frequency of these types of requests amount to a bunch of unproductive time lost.
This brings us to the second question — has anyone else automated the task already? If there’s a rote task that can be automated to save time, there’s a good chance someone else has already done the coding work for you. And in our case, no actual coding is needed since Google has a shortcut that can save you time.
Google Scholar’s Library Links and Button Chrome Extension
Most law librarians are well aware of Google Scholar and its excellent search function for scholarly articles, but may be less aware of two useful features hidden away in the Settings section: (1) library e-resources integration via their library links feature, and (2) their Scholar Button Chrome extension.
In combination, these features allow the reference librarian to highlight relevant information in a request email, press a single button, and get back their library’s proxied links to the most relevant PDFs:
If Google isn’t sure of which article you’re referring to, the Button will drop down multiple options to choose from, largely solving the check issue we discussed in the previous section. And if you happen to be working from home, the integrated e-link provided by your library will have the authentication information you need to access any articles in a subscription database.
Repurposing Quick Check and Brief Analysis for Batch Reference
Unfortunately, the Google Scholar Button doesn’t work as well for primary legal sources like cases and statutes. But both Westlaw and Lexis provide some new tools that can be repurposed to batch download cases.
Last week, a clinic administrator emailed our reference desk asking for help getting Westlaw PDFs of dozens of cases, statutes, and secondary sources cited in an opposing counsel’s letter brief. While normally I’d feel some dread at this type of request, I’d been wanting to see if Westlaw’s Quick Check tool would work effectively as a way to batch download all sources cited in a real brief.
So I uploaded the PACER-provided PDF of the letter brief, and after a minute or two, I got back a Table of Authorities that had (1) all eighteen cases cited in the letter, (2) the right U.S. Code section, and (3) the right Wright & Miller section of Federal Practice and Procedure. The only two sources that Brief Check failed to include were a section of a Rutter Practice Guide and a Local Rule.
While I still had to check each source cited in the letter, the batch download option in the Table of Authorities tab saved me a significant amount of time, turning an hour-long task into a 15-minute one. The resulting zip file not only provided an already numbered, labeled, and alphabetically sorted set of PDFs to which I could easily add the two missing sources, but also allowed me to avoid twenty instances of having to find the right source only to then have to play the “Preparing for Download” waiting game.
Since both Westlaw’s Quick Check and Lexis’s Brief Analysis offer options where you can just paste in multiple case citations from an email (in lieu of uploading a PDF), these tools can be an handy way to download a bunch of cases at once.