diff --git a/jobs/osmocom-api.yml b/jobs/osmocom-api.yml
new file mode 100644
index 00000000..f91779da
--- /dev/null
+++ b/jobs/osmocom-api.yml
@@ -0,0 +1,89 @@
+- job:
+ concurrent: false
+ description: This job builds the doxygen API documentation for latest libosmo*
+ and uploads it to https://downloads.osmocom.org/api/latest/
+ name: Osmocom_API
+ node: osmocom-master-debian9
+ project-type: freestyle
+ publishers:
+ - email:
+ notify-every-unstable-build: true
+ recipients: jenkins-notifications@lists.osmocom.org
+ triggers:
+ - timed: "H H * * *"
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - api@osmocom
+ parameters:
+ - string:
+ name: BRANCH
+ description: osmo-ci.git branch
+ default: 'master'
+ scm:
+ - git:
+ branches:
+ - '$BRANCH'
+ url: https://gerrit.osmocom.org/osmo-ci
+ git-config-name: 'Jenkins Builder'
+ git-config-email: 'jenkins@osmocom.org'
+ wipe-workspace: true
+ builders:
+ - shell: |
+ # Repositories for which doxygen documentation will be generated and
+ # uploaded, also dependencies which need to be built
+ repos_api="
+ libosmocore
+ libosmo-abis
+ libosmo-dsp
+ libosmo-netif
+ libosmo-sccp
+ osmo-gmr"
+
+ # Source common.sh from osmo-ci.git for osmo_git_clone_url()
+ . scripts/common.sh
+
+ # Put git repos and install data in a subdir, so it isn't in the root
+ # of the cloned osmo-ci.git repository
+ mkdir _osmocom_api
+ cd _osmocom_api
+
+ # Prepare pkgconfig path
+ export PKG_CONFIG_PATH=$PWD/install/lib/pkgconfig
+ mkdir -p "$PKG_CONFIG_PATH"
+
+ # Prepare known_hosts
+ cat > known_hosts <