• Stars
    star
    153
  • Rank 243,368 (Top 5 %)
  • Language
    Jupyter Notebook
  • Created almost 12 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Developer API service description and example client code

adsabs-dev-api

ADS Developer API description.

For bugs, feature requests or even random questions feel free to use the issues section.

Table of Contents

The help pages and examples below are formatted as Jupyter notebooks. Browse them in Github or download them to your own computer to edit the code and run as desired. Note that the code in these notebooks was run using an API key or token. This has been edited out of the notebooks for security; acquire your own API key and copy it into the notebook before running it locally.

Note: sometimes Github's internal Jupyter notebook rendering agent fails. If that happens, copy the link to the notebook you wish to view into the form at Jupyter's own notebook renderer.

Clients

The unofficial python client for the API is maintained by Andy Casey described here:

Examples of how to use Andy Casey's Python client can be found here:

Geert Barentsen has built an application to support the Kepler publication database which uses the ADS API to discover relevant papers:

The ADS built an application to compare author's with a wrestling theme at AAS 227:

Access

Access to the ADS data holdings is regulated by the the ADS terms of use, as described in the ADS Terms of Use.

To obtain access to the ADS Developer API you must do two things:

  1. Create an account and log in to the latest version of the ADS.
  2. Push the "Generate a new key" button under the user profile

All API requests must pass your token in an Authorization: Bearer <token> HTTP header (where is the key you just generated), e.g.

curl -H 'Authorization: Bearer <token>' 'https://api.adsabs.harvard.edu/v1/search/query?q=star'

Access Settings

Each endpoint is individually rate-limited. API Responses advertise these limits in their HTTP response headers. A useful way to see these values is to issue a curl request to the desired endpoint with the verbose flag, e.g.:

curl -v -H "Authorization: Bearer <token>" 'https://api.adsabs.harvard.edu/v1/search/query?q=star'

And then noting the following values:

X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
X-RateLimit-Reset: 1435190400

The Limit variable indicates the amount of daily queries allowed to the user (in this case 5000). The Remaining variable indicates how many queries are still available. The Reset variable provides a UTC timestamp corresponding to the time the rate limits will be reset. To see its value in human-readable format, you can use the UNIX "date" command:

# syntax for UNIX on a Mac
date -r 1435190400
# Linux syntax
date -d @1435190400
# output for either
Wed Jun 24 20:00:00 EDT 2015

(the rate resetting happens at midnight UTC).
For more information and tips about rate limits, please contact us directly at [email protected].

More Repositories

1

montysolr

Solr for Astrophysics Data System
Java
52
star
2

bumblebee

🐝 Clever face for ADS
JavaScript
38
star
3

ads-examples

ADS API examples
Python
23
star
4

adsabs.github.io

Help, blog, API documentation, and much more for the ADS services
SCSS
13
star
5

Nasa-ADS-Query-Importer-Widget

Import any ADS query you can perform on an ADS server in your website.
10
star
6

adsabs

Flask for ADS, ADS for Flask, ADS for all
Python
7
star
7

ADSfulltext

ADS Full Text Extraction
Python
5
star
8

object_service

ADS micro service for processing object and positional ("cone") searches (specifically SIMBAD and NED)
Python
5
star
9

biblib-service

ADS library service
Python
4
star
10

nectar

Server-side Rendered ADS Implementation 🌺
TypeScript
4
star
11

scripts-affiliation-disambiguation

A set of scripts to interact with the affiliation disambiguation tool.
Python
4
star
12

flask-solrquery

Python
3
star
13

flask-discoverer

Flask extension that enables resource introspection and publication for an API based service
Python
3
star
14

export_service

Export service to output ADS records with various formats including BibTex, AASTex, and multiple tagged and xml options
Python
3
star
15

adsabs-pyingest

Python
2
star
16

flask-solrpy

Flask extension for the solrpy module
Python
2
star
17

CanonicalAffiliations

CanonicalAffiliations contains files pertaining to matching institutions to each other and to other identifiers
2
star
18

reference_service

A service for resolving references.
Python
2
star
19

refine-affiliations

Google Refine automation for the affiliations project
Python
2
star
20

oracle_service

Service that suggests article of interest to the reader or advices and scores the similarity between two records
Python
2
star
21

adsws

ADS web services
Python
2
star
22

adsutils

ADS utilities
Python
2
star
23

recommender_service_defunct

Flask API implementation for ADS Recommender service
Python
2
star
24

errbot_adsaws

ErrBot ADSAWS
Python
1
star
25

kibtools

Kibana dashboard extraction/loader tool.
Python
1
star
26

vocbench-docker

Dockerfile for setting up vobench
Shell
1
star
27

ADSDocMatchPipeline

Pipeline to match publisher document with preprint counterpart and vice versa
Python
1
star
28

template-microservices

Template for creating new ADS microservices
Python
1
star
29

AdsDataSqlSync

For non-bibliographic ADS data
Python
1
star
30

adsgut

The ADS Grand Unified Theory (or Groups, Users, and Tags)
JavaScript
1
star
31

solr-affiliation-disambiguation

Perform affiliation disambiguation using Solr.
Java
1
star
32

solr-service

microservice that proxies to solr
Python
1
star
33

orcid-service

Web service for ORCID
Python
1
star
34

graphics_service

Python
1
star
35

solr-benchmarking

Python
1
star
36

author_affiliation_service

A service for creating author/affiliation spreadsheets
Python
1
star
37

pdfie-training-data

ADS PDF information extraction training data
Python
1
star
38

base-microimage

The base image for ADS microservices
Shell
1
star
39

resolver_service

Linkout service to provide users with links to external resources such as publisher's full text, data links, etc.
Python
1
star
40

resolver_gateway

Logging service to capture information such as search, abstract view etc.
Python
1
star
41

ADSImportPipeline

Data ingest pipeline for ADS classic->ADS+
Python
1
star
42

adsdata

Python
1
star
43

vault

Microservice for storing queries, user preferences and stuff
Python
1
star
44

totext_service

This microservice makes api calls and converts their json responses to text (mostly html)
HTML
1
star
45

metrics_service

Flask API implementation for ADS metrics
Python
1
star