Skip to contents

The Databoard package is designed to interface with the Databoard service, enabling automated content coding via large language models . The service provides three main workflows:

  • Code text: Code text into predefined categories, for example, for content analysis.
  • Summarize text: Summarize longer texts into shorter paragraphs or individual words, for example, for topic extraction.
  • Annotate text: Mark up text passages with XML according to predefined selection rules, for example, for Named Entity Recognition.

General information

The Databoard service provides an API to access the UniGPT service from the University of Münster. The default model is Llama-3.3-70B. You can choose from a variety of other models, including mistral-small, gemma-3-27b-it, gemma-3, gpt-oss-120b and Apertus-8B-Instruct-2509 as well as integrate other LLM-servers. Please see the vignette("customprompts") for further options and how to change the model.

To ensure reliable service for all users, the Databoard service features a rate limit of 30 requests per 60 seconds. If you need a higher rate limit for your research, you can submit a request for an increase here.

How to install the Databoard package?

Databoard can be installed from source using the remotes package.


library(remotes)
remotes::install_github("datavana/databoard_r", build_manual = TRUE, build_vignettes = TRUE)

To use the Databoard service you need credentials. Please contact the Digital Media and Computational Methods research unit to obtain a username and password.

Once you have credentials, you can log into the service. The da_login()method prompts for the username and the password (alternatively, provide them in the parameters).

This login process stores your access token for the Databoard API service invisibly in the system environment. The login lasts for one session, after closing RStudio you have to renew the login process.

How to use the Databoard package?


library(tidyverse)

# Get example data
df <- databoard::movies

# Define coding rules (same as in databoard::genres)
rules <- tibble::tribble(
  ~category,  ~description,                                                               ~example,
  "History",  "Movies based on real events or people from the past.",                     "Schindler’s List, Braveheart",
  "Scifi",    "Stories about futuristic science, technology, space, or alien life.",      "Interstellar, Blade Runner",
  "Musical",  "Films where characters sing and dance as part of the story.",              "The Greatest Showman, Mamma Mia",
  "Fantasy",  "Movies featuring magical or supernatural elements and imaginary worlds.",  "Pan’s Labyrinth, Harry Potter",
  "Comedy",   "Films made to entertain and make the audience laugh.",                     "Mean Girls, The Hangover",
  "Drama",    "Serious stories focused on relationships, and character development.",     "Forrest Gump, A Beautiful Mind"
)

# Submit to the Databoard service
results <- llm_code(movies, abstract, rules)

# Once you submitted your tasks, 
# call the same method with  your data frame as the first parameter.
# Task results that are ready will be added.
# Keep calling until all tasks are finished.
results <- llm_code(results)

# Inspect result
results |> 
  count(llm_result)
  

See the introduction vignette for further information and examples.

Authors and citation

Authors

Katharina Maubach (University of Münster)
Jakob Jünger (University of Münster)

Citation

Maubach, K. & Jünger, J. (2026). databoard: Automated Content Coding with Large Language Models. R package version 1.0.0.