### Get API Key Example Source: https://developers.openalex.org/api-reference/authentication To use the API at scale, you need a key. Add `api_key=YOUR_KEY` to your API calls. ```bash curl "https://api.openalex.org/works?api_key=YOUR_KEY" ``` -------------------------------- ### Quick Example: Get Open Access Articles Source: https://developers.openalex.org/api-reference/introduction An example demonstrating how to retrieve open access articles published in 2024 with more than 100 citations. ```APIDOC ## Quick Example Get open access articles from 2024 with more than 100 citations: ```bash theme={"dark"} curl "https://api.openalex.org/works?filter=publication_year:2024,is_oa:true,cited_by_count:>100&per_page=10&api_key=YOUR_KEY" ``` ``` -------------------------------- ### Install OpenAlex CLI Source: https://developers.openalex.org/download/openalex-cli Install the OpenAlex CLI using pip. This is the first step to using the tool. ```bash pip install openalex-official ``` -------------------------------- ### Example Response for /text Endpoint Source: https://developers.openalex.org/guides/aboutness This is an example JSON response from the /text endpoint, showing metadata, keywords, and concepts assigned to the input text. ```json { "meta": { "keywords_count": 5, "concepts_count": 3 }, "keywords": [ { "id": "https://openalex.org/keywords/type-1-diabetes", "display_name": "Type 1 Diabetes", "score": 0.677 } ], "concepts": [ { "id": "https://openalex.org/C71924100", "display_name": "Medicine", "score": 0.85 } ] } ``` -------------------------------- ### Python API Client Setup Source: https://developers.openalex.org/guides/recipe-find-collaborators Basic Python script setup for making requests to the OpenAlex API. Includes base URL definition and a helper function for API calls. ```python import requests BASE = "https://api.openalex.org" MY_INST = "I63966007" # MIT def api(endpoint, params): return requests.get(f"{BASE}/{endpoint}", params=params).json() ``` -------------------------------- ### Rate Limit Response Example Source: https://developers.openalex.org/api-reference/authentication This is an example of the JSON response you will receive when checking your rate limit status. It details your usage, budget, and endpoint costs. ```json { "api_key": "abc...xyz", "rate_limit": { "daily_budget_usd": 1, "daily_used_usd": 0.05, "daily_remaining_usd": 0.95, "prepaid_balance_usd": 0, "prepaid_remaining_usd": 0, "prepaid_expires_at": null, "resets_at": "2026-02-20T00:00:00.000Z", "resets_in_seconds": 43200, "endpoint_costs_usd": { "singleton": 0, "list": 0.0001, "search": 0.001, "semantic": 0.01, "content": 0.01, "text": 0.01 } } } ``` -------------------------------- ### Example JSON Response with Selected Fields Source: https://developers.openalex.org/guides/selecting-fields This is an example of a JSON response when using the `select` parameter to retrieve specific fields. ```json { "results": [ { "id": "https://openalex.org/W1775749144", "doi": "https://doi.org/10.1016/s0021-9258(19)52451-6", "display_name": "PROTEIN MEASUREMENT WITH THE FOLIN PHENOL REAGENT" }, { "id": "https://openalex.org/W2100837269", "doi": "https://doi.org/10.1038/227680a0", "display_name": "Cleavage of Structural Proteins during the Assembly of the Head of Bacteriophage T4" } ] } ``` -------------------------------- ### Autocomplete ID Lookup Example Source: https://developers.openalex.org/guides/autocomplete This example demonstrates how the autocomplete endpoint can detect and match IDs directly. ```APIDOC ## GET /autocomplete ### Description Performs a search query, automatically detecting and matching IDs when provided. ### Method GET ### Endpoint /autocomplete ### Parameters #### Query Parameters - **q** (string) - Required - The search string, which can be an ID (e.g., ORCID, OpenAlex ID) or a general search term. ### Request Example ```bash # Find author by ORCID https://api.openalex.org/autocomplete?q=https://orcid.org/0000-0002-7436-3176 # Find source by OpenAlex ID https://api.openalex.org/autocomplete/sources?q=S49861241 ``` ``` -------------------------------- ### Two-Step ID Lookup Example Source: https://developers.openalex.org/guides/llm-quick-reference Always resolve entity names to IDs first before filtering. This example shows the correct two-step process for finding works by a specific author. ```bash # WRONG - will fail or return wrong results /works?filter=author_name:Einstein # CORRECT - two steps # 1. Get ID /authors?search=Einstein # Response: id = "A5012345678" # 2. Filter by ID /works?filter=authorships.author.id:A5012345678 ``` -------------------------------- ### Filtering Autocomplete Example Source: https://developers.openalex.org/guides/autocomplete This example shows how to combine autocomplete with filters and search parameters. ```APIDOC ## GET /autocomplete/ with Filters and Search ### Description Performs a typeahead search for a specified entity type, combined with filtering and general search parameters. ### Method GET ### Endpoint /autocomplete/ ### Parameters #### Query Parameters - **q** (string) - Required - The search string for autocomplete. - **entity_type** (string) - Optional - The type of entity to search for (e.g., `works`). - **filter** (string) - Optional - Filters to apply to the search (e.g., `publication_year:2010`). - **search** (string) - Optional - General search terms to refine results (e.g., `frogs`). ### Request Example ```bash # Works from 2010 about frogs, autocomplete on "greenhou" https://api.openalex.org/autocomplete/works?filter=publication_year:2010&search=frogs&q=greenhou ``` ``` -------------------------------- ### Get All Aboutness Data for Text Source: https://developers.openalex.org/guides/aboutness Use the /text endpoint to get both keywords and concepts for your provided text. Include the text as a 'title' query parameter. ```bash GET https://api.openalex.org/text?title=type%201%20diabetes%20research%20for%20children ``` -------------------------------- ### Aggregate by Field Example Source: https://developers.openalex.org/guides/llm-quick-reference Perform aggregation on results by specifying a field to group by. This example groups works from 2024 by topic ID. ```bash /works?filter=publication_year:2024&group_by=topics.id ``` -------------------------------- ### Count works by type Source: https://developers.openalex.org/guides/grouping This example demonstrates how to count the number of works by their type. ```APIDOC ## GET /works?group_by=type ### Description Aggregates works by their type and returns a count for each type. ### Method GET ### Endpoint /works ### Query Parameters - **group_by** (string) - Required - Specifies the field to group by. Example: `type`. ### Response #### Success Response (200) - **meta** (object) - Contains metadata about the response, including `count` (total entities) and `groups_count` (number of groups in the current page). - **group_by** (array) - An array of group objects, where each object contains `key`, `key_display_name`, and `count`. ### Response Example ```json { "meta": { "count": 246136992, "groups_count": 15 }, "group_by": [ { "key": "article", "key_display_name": "article", "count": 202814957 }, { "key": "book-chapter", "key_display_name": "book-chapter", "count": 21250659 }, { "key": "dissertation", "key_display_name": "dissertation", "count": 6055973 } ] } ``` ``` -------------------------------- ### Sorting by Citation Count Source: https://developers.openalex.org/guides/sort This example demonstrates how to sort works by their citation count in descending order. ```APIDOC ## GET /works ### Description Fetches a list of works, sorted by citation count in descending order. ### Method GET ### Endpoint /works ### Query Parameters - **sort** (string) - Required - Specifies the sorting criteria. Format: `field:direction`. - `cited_by_count:desc` sorts by citation count, highest first. ``` -------------------------------- ### Initial Data State Example Source: https://developers.openalex.org/download/snapshot-format Illustrates the initial state of the data directory when 1,000 authors are created on '2024-01-01'. The data is organized under the 'updated_date=2024-01-01' partition. ```text /data/authors/ ├── manifest └── updated_date=2024-01-01 [1000 Authors] ├── 0000_part_00.gz └── ... ``` -------------------------------- ### OpenAlex CLI Help Source: https://developers.openalex.org/download/openalex-cli Display the full documentation for all options and advanced usage of the OpenAlex CLI. ```bash openalex download --help ``` -------------------------------- ### Count Works by Type Source: https://developers.openalex.org/guides/grouping Use the `group_by` parameter to aggregate entities and count them by their type. This is a basic example of how to get counts for different work types. ```bash https://api.openalex.org/works?group_by=type ``` -------------------------------- ### Filter Syntax Examples Source: https://developers.openalex.org/guides/llm-quick-reference Demonstrates various ways to construct filters for API queries, including single filters, multiple filters (AND), multiple values (OR), negation, and comparisons. ```bash # Single filter ?filter=publication_year:2024 # Multiple filters (AND) ?filter=publication_year:2024,is_oa:true # Multiple values (OR) - up to 100 values ?filter=type:article|book|dataset # Negation ?filter=type:!paratext # Comparison ?filter=cited_by_count:>100 ?filter=publication_year:<2020 ?filter=publication_year:2020-2024 ``` -------------------------------- ### Get Institution Rankings Source: https://developers.openalex.org/guides/recipes Retrieve rankings for institutions, for example, the top US universities by citation count. Ensure the country code and type filters are correctly applied. ```bash # Top US universities by citation count https://api.openalex.org/institutions?filter=country_code:US,type:education&sort=-cited_by_count&per_page=20 ``` -------------------------------- ### Autocomplete Institutions Example Source: https://developers.openalex.org/guides/autocomplete This example shows how to perform a typeahead search for institutions. ```APIDOC ## GET /autocomplete/ ### Description Provides fast typeahead search for a specified entity type. ### Method GET ### Endpoint /autocomplete/ ### Parameters #### Query Parameters - **q** (string) - Required - The search string. - **entity_type** (string) - Optional - The type of entity to search for. Can be one of: `works`, `authors`, `sources`, `institutions`, `concepts`, `publishers`, or `funders`. ### Request Example ```bash https://api.openalex.org/autocomplete/institutions?q=flori ``` ### Response #### Success Response (200) - **meta** (object) - Metadata about the response. - **results** (array) - An array of autocomplete results. #### Response Example ```json { "meta": { "count": 183, "db_response_time_ms": 5, "page": 1, "per_page": 10 }, "results": [ { "id": "https://openalex.org/I33213144", "display_name": "University of Florida", "hint": "Gainesville, USA", "cited_by_count": 17190001, "entity_type": "institution", "external_id": "https://ror.org/02y3ad647" } ] } ``` ### Result Properties - **id** (string) - OpenAlex ID. - **external_id** (string) - Canonical external ID (DOI, ORCID, ROR, etc.). - **display_name** (string) - Entity name. - **entity_type** (string) - Type of the entity (`work`, `author`, `source`, `institution`, `concept`, `publisher`, `funder`). - **cited_by_count** (integer) - Citation count (for works) or sum of citations for linked works. - **works_count** (integer) - Number of associated works (`null` for works). - **hint** (string) - Additional context to help identify the result. ``` -------------------------------- ### Fetch Works with Full URL or Key Source: https://developers.openalex.org/guides/key-concepts Demonstrates how to fetch works using either the full OpenAlex URL or just the key portion of the ID in API calls. Using just the key is recommended for brevity. ```bash curl "https://api.openalex.org/works/https://openalex.org/W2741809807" ``` ```bash curl "https://api.openalex.org/works/W2741809807" ``` -------------------------------- ### Data Update Example Source: https://developers.openalex.org/download/snapshot-format Demonstrates how data is updated. When 50 authors are updated on '2024-01-15', they are moved to the 'updated_date=2024-01-15' partition. If 50 new authors are added, the partition will contain a total of 100 authors. ```text /data/authors/ ├── manifest ├── updated_date=2024-01-01 [950 Authors] │ └── ... └── updated_date=2024-01-15 [50 Authors] └── ... ``` ```text /data/authors/ ├── manifest ├── updated_date=2024-01-01 [950 Authors] │ └── ... └── updated_date=2024-01-15 [100 Authors] └── ... ``` -------------------------------- ### Cursor Paging - Initial Request Source: https://developers.openalex.org/guides/page-through-results Start cursor paging by setting the `cursor` parameter to '*'. This retrieves the first page of results and a `next_cursor` value. ```bash https://api.openalex.org/works?filter=publication_year:2020&per_page=100&cursor=* ``` -------------------------------- ### Download Full OpenAlex Snapshot Source: https://developers.openalex.org/download/download-to-machine Use this command to copy all files from the 's3://openalex' bucket to a local folder named 'openalex-snapshot'. Ensure you have sufficient disk space. ```bash aws s3 sync "s3://openalex" "openalex-snapshot" --no-sign-request ``` -------------------------------- ### Random Sample Example Source: https://developers.openalex.org/guides/llm-quick-reference Retrieve a random sample of works from the API. Using a 'seed' parameter ensures reproducible sampling. ```bash /works?sample=100&seed=42 ``` -------------------------------- ### Basic Paging Example Source: https://developers.openalex.org/guides/page-through-results Use `page` and `per_page` parameters to retrieve a specific page of results. Note the limit of 10,000 total results for basic paging. ```bash # Page 2 with 100 results per page https://api.openalex.org/works?page=2&per_page=100 ``` -------------------------------- ### List Languages Source: https://developers.openalex.org/api-reference/openapi.json Get a list of languages used in scholarly works. ```APIDOC ## GET /languages ### Description Get a list of languages used in scholarly works. ### Method GET ### Endpoint /languages ### Parameters #### Query Parameters - **filter** (string) - Optional - Filter languages. Examples: `id:en` (English), `works_count:>100000` See [all Language fields](/api-reference/languages#available-filter-sort-and-group_by-fields). - **sort** (string) - Optional - Sort by: `works_count`, `cited_by_count`. Prefix with `-` for descending. See [all Language fields](/api-reference/languages#available-filter-sort-and-group_by-fields). - **search** (string) - Optional - See [OpenAlex API documentation for search](https://docs.openalex.org/how-to-use-the-api/search-and-filter-results#search-for-results). - **per_page** (integer) - Optional - Number of results to return per page. Default is 25. - **page** (integer) - Optional - Page number of the results to retrieve. - **cursor** (string) - Optional - Used for pagination when `per_page` is greater than 200. - **sample** (boolean) - Optional - If true, returns a random sample of the results. - **select** (string) - Optional - Comma-separated list of fields to include in the response. - **api_key** (string) - Optional - Your OpenAlex API key. ### Response #### Success Response (200) - **results** (array) - A list of language objects. #### Response Example { "example": "{\"results\": [{\"id\": \"https://openalex.org/L100000\", \"wikidata\": \"L100000\", \"display_name\": \"English\", \"name\": \"eng\", \"works_count\": 10000000, \"cited_by_count\": 1000000, \"works_api_url\": \"https://api.openalex.org/works?filter=language:eng\", \"oa_works_count\": 5000000, \"oa_works_api_url\": \"https://api.openalex.org/works?filter=language:eng&filter=is_oa:true\"}]}" ``` -------------------------------- ### Download Works with PDFs and TEI XML Source: https://developers.openalex.org/download/openalex-cli Download both PDF and TEI XML content along with metadata for works. Specify multiple content types separated by commas. ```bash openalex download \ --api-key YOUR_KEY \ --output ./results \ --filter "topics.id:T10325" \ --content pdf,xml ``` -------------------------------- ### Get Continent by ID Source: https://developers.openalex.org/api-reference/openapi.json Retrieve a single continent by its Wikidata Q-ID. ```APIDOC ## GET /continents/{id} ### Description Retrieve a single continent by its Wikidata Q-ID. ### Method GET ### Endpoint /continents/{id} ### Parameters #### Path Parameters - **id** (string) - Required - Wikidata Q-ID (e.g., Q49 for North America) #### Query Parameters - **select** (string) - Optional - Comma-separated list of fields to include in the response. - **api_key** (string) - Optional - Your OpenAlex API key. ### Request Example { "example": "/continents/Q49" } ### Response #### Success Response (200) - **id** (string) - The OpenAlex ID for the continent. - **wikidata** (string) - The Wikidata Q-ID for the continent. - **name** (string) - The name of the continent. - **country_codes** (array) - A list of ISO 3166-1 alpha-2 country codes within the continent. - **works_count** (integer) - The total number of works associated with the continent. - **cited_by_count** (integer) - The total number of citations for works associated with the continent. - **works_api_url** (string) - The API URL to retrieve works filtered by this continent. - **oa_works_count** (integer) - The total number of open access works associated with the continent. - **oa_works_api_url** (string) - The API URL to retrieve open access works filtered by this continent. #### Response Example { "example": "{\"id\": \"https://openalex.org/Q49\", \"wikidata\": \"Q49\", \"name\": \"North America\", \"country_codes\": [\"AG\", \"AW\", \"BB\", \"BL\", \"BM\", \"BQ\", \"CA\", \"CR\", \"CU\", \"CW\", \"DM\", \"DO\", \"GD\", \"GL\", \"GP\", \"GT\", \"HN\", \"HT\", \"JM\", \"KN\", \"MX\", \"NI\", \"PA\", \"PR\", \"SV\", \"SX\", \"TT\", \"US\", \"VC\", \"VE\"], \"works_count\": 10000000, \"cited_by_count\": 1000000, \"works_api_url\": \"https://api.openalex.org/works?filter=primary_location.continent:North%20America\", \"oa_works_count\": 5000000, \"oa_works_api_url\": \"https://api.openalex.org/works?filter=primary_location.continent:North%20America&filter=is_oa:true\"}" ``` -------------------------------- ### Download Metadata, PDFs, and TEI XML using OpenAlex CLI Source: https://developers.openalex.org/download/full-text-pdfs Use the OpenAlex CLI to download metadata along with PDFs and TEI XML files for works matching a specific topic. Specify your API key, output directory, and content types. ```bash openalex download \ --api-key YOUR_KEY \ --output ./my-corpus \ --filter "topics.id:T10325,has_content.pdf:true" \ --content pdf,xml ``` -------------------------------- ### Get a Single Publisher Source: https://developers.openalex.org/api-reference/openapi.json Retrieve a single publisher by its OpenAlex ID. ```APIDOC ## GET /publishers/{id} ### Description Retrieve a single publisher by OpenAlex ID. ### Method GET ### Endpoint /publishers/{id} ### Parameters #### Path Parameters - **id** (string) - Required - OpenAlex ID (e.g., P4310319965) #### Query Parameters - **select** (string) - Optional - Comma-separated list of fields to include in the response. - **api_key** (string) - Required - Your OpenAlex API key. ### Response #### Success Response (200) - **id** (string) - The OpenAlex ID of the publisher. - **display_name** (string) - The display name of the publisher. #### Response Example { "example": "{\"id\": \"P4310319965\", \"display_name\": \"Springer Nature\"}" } ``` -------------------------------- ### Bulk DOI Lookup Example Source: https://developers.openalex.org/guides/llm-quick-reference Efficiently retrieve multiple works by their DOIs in a single request, up to a limit of 100 DOIs. ```bash /works?filter=doi:10.1234/a|10.1234/b|10.1234/c&per_page=100 ``` -------------------------------- ### Get a Single Keyword Source: https://developers.openalex.org/api-reference/openapi.json Retrieve a single keyword by its OpenAlex ID. ```APIDOC ## GET /keywords/{id} ### Description Retrieve a single keyword by OpenAlex ID. ### Method GET ### Endpoint /keywords/{id} ### Parameters #### Path Parameters - **id** (string) - Required - OpenAlex ID (e.g., K12345) #### Query Parameters - **select** (string) - Optional - Comma-separated list of fields to include in the response. - **api_key** (string) - Required - Your OpenAlex API key. ### Response #### Success Response (200) - **id** (string) - The OpenAlex ID of the keyword. - **display_name** (string) - The display name of the keyword. #### Response Example { "example": "{\"id\": \"K12345\", \"display_name\": \"Artificial Intelligence\"}" } ``` -------------------------------- ### Get Topic by ID Source: https://developers.openalex.org/api-reference/openapi.json Retrieve a single topic by OpenAlex ID. ```APIDOC ## GET /topics/{id} ### Description Retrieve a single topic by OpenAlex ID. ### Method GET ### Endpoint /topics/{id} ### Parameters #### Path Parameters - **id** (string) - Required - OpenAlex ID (e.g., T12419) #### Query Parameters - **select** (string) - Optional - Comma-separated list of fields to include in the response. - **api_key** (string) - Optional - Your OpenAlex API key. ### Response #### Success Response (200) - **id** (string) - The OpenAlex ID of the topic. - **display_name** (string) - The display name of the topic. - **description** (string) - A description of the topic. - **works_count** (integer) - The number of works associated with the topic. - **cited_by_count** (integer) - The number of times works associated with the topic have been cited. - **domain** (object) - Information about the domain the topic belongs to. - **field** (object) - Information about the field the topic belongs to. - **subfield** (object) - Information about the subfield the topic belongs to. #### Response Example { "id": "T12419", "display_name": "Artificial intelligence", "description": "A broad area of computer science that aims to create intelligent machines.", "works_count": 150000, "cited_by_count": 50000, "domain": {"id": "D1774570", "display_name": "Computer science"}, "field": {"id": "F1774571", "display_name": "Artificial intelligence"}, "subfield": {"id": "SF1774572", "display_name": "Machine learning"} } #### Error Response (404) Not Found #### Error Response (429) Rate Limited ``` -------------------------------- ### Download Full Snapshot with Deletion Source: https://developers.openalex.org/download/download-to-machine When downloading into a directory that already contains a previous snapshot, use the '--delete' flag to remove outdated files and prevent duplicate entities. ```bash aws s3 sync "s3://openalex" "openalex-snapshot" --no-sign-request --delete ``` -------------------------------- ### List Awards Source: https://developers.openalex.org/api-reference/awards/list-awards Get a list of research grants and funding awards. ```APIDOC ## List Awards ### Description Get a list of research grants and funding awards. ### Method GET ### Endpoint /awards ``` -------------------------------- ### Get a Single Continent Source: https://developers.openalex.org/api-reference/continents/get-a-single-continent Fetches detailed information for a specific continent. ```APIDOC ## GET /continents/{continent} ### Description Retrieves a single continent by its ID. ### Method GET ### Endpoint /continents/{continent} ### Parameters #### Path Parameters - **continent** (string) - Required - The unique identifier for the continent. ### Response #### Success Response (200) - **id** (string) - The unique identifier for the continent. - **display_name** (string) - The human-readable name of the continent. - **countries** (array) - A list of countries within the continent, each with an `id` and `display_name`. - **ids** (object) - External identifiers for the continent. - **openalex** (string) - OpenAlex identifier. - **wikidata** (string) - Wikidata identifier. - **created_date** (string) - When this continent was added to OpenAlex (ISO 8601 date). - **updated_date** (string) - When this continent was last updated (ISO 8601 datetime). #### Response Example ```json { "id": "https://openalex.org/continents/eu", "display_name": "Europe", "countries": [ { "id": "https://openalex.org/countries/82", "display_name": "Germany" } ], "ids": { "openalex": "eu", "wikidata": "Q46" }, "created_date": "2023-01-01", "updated_date": "2023-01-01T10:00:00Z" } ``` #### Error Response (404) - **error** (string) - Error type. - **message** (string) - Human-readable error message. #### Error Response Example ```json { "error": "Not Found", "message": "Continent with ID 'invalid-id' not found." } ``` ``` -------------------------------- ### Download Works by Topic Source: https://developers.openalex.org/download/openalex-cli Download metadata for works related to a specific topic using the CLI. Replace YOUR_KEY with your actual API key. ```bash openalex download \ --api-key YOUR_KEY \ --output ./results \ --filter "topics.id:T10325" ``` -------------------------------- ### Random Sample of Works Source: https://developers.openalex.org/guides/recipes Fetch a random sample of works by specifying the `sample` parameter. This example retrieves 100 random works from 2024, using a seed for reproducibility. ```bash # 100 random works from 2024 https://api.openalex.org/works?filter=publication_year:2024&sample=100&per_page=100&seed=42 ``` -------------------------------- ### Get Country Source: https://developers.openalex.org/api-reference/openapi.json Retrieve a single country by its ISO 3166-1 alpha-2 code. ```APIDOC ## GET /countries/{id} ### Description Retrieve a single country by its ISO 3166-1 alpha-2 code. ### Method GET ### Endpoint /countries/{id} ### Parameters #### Path Parameters - **id** (string) - Required - ISO 3166-1 alpha-2 country code (e.g., US, GB, CN) #### Query Parameters - **select** (array) - Optional - Comma-separated list of fields to return. - **api_key** (string) - Optional - Your API key. ### Response #### Success Response (200) - **id** (string) - The country's ID. - **display_name** (string) - The display name of the country. - **works_count** (integer) - The number of works associated with the country. - **cited_by_count** (integer) - The number of times works from this country have been cited. ``` -------------------------------- ### Download Works with PDFs Source: https://developers.openalex.org/download/openalex-cli Download metadata and PDF content for works on a specific topic. Ensure you have a valid API key. ```bash openalex download \ --api-key YOUR_KEY \ --output ./results \ --filter "topics.id:T10325" \ --content pdf ``` -------------------------------- ### Get Institution Source: https://developers.openalex.org/api-reference/openapi.json Retrieve a single institution by its OpenAlex ID or ROR identifier. ```APIDOC ## GET /institutions/{id} ### Description Retrieve a single institution by OpenAlex ID or ROR. ### Method GET ### Endpoint /institutions/{id} ### Parameters #### Path Parameters - **id** (string) - Required - OpenAlex ID (e.g., I27837315) or ROR. #### Query Parameters - **select** (array) - Optional - Fields to include in the response. - **api_key** (string) - Optional - Your API key. ### Response #### Success Response (200) - **id** (string) - The OpenAlex ID of the institution. - **display_name** (string) - The display name of the institution. - **ror** (string) - The ROR URL of the institution. - **country_code** (string) - The country code of the institution. - **type** (string) - The type of the institution. - **works_count** (integer) - The number of works associated with the institution. - **cited_by_count** (integer) - The number of times works from the institution have been cited. - **summary_stats** (object) - Summary statistics for the institution. #### Response Example { "id": "I27837315", "display_name": "University of California, Berkeley", "ror": "https://ror.org/007f24c18", "country_code": "US", "type": "education", "works_count": 100000, "cited_by_count": 500000, "summary_stats": { "2yr_cited_by_ratio": 0.5, "h_index": 200 } } ``` -------------------------------- ### Bulk Download PDFs with CLI Source: https://developers.openalex.org/guides/recipes For downloading a large number of PDFs, use the `openalex-official` CLI tool. This tool supports parallel downloads and automatic retries for efficiency. ```bash # Step 3: For bulk downloads, use the CLI tool pip install openalex-official openalex download \ --api-key YOUR_KEY \ --output ./results \ --filter "default.search:CRISPR,has_content.pdf:true,publication_year:2023-2024" ``` -------------------------------- ### Get a single source Source: https://developers.openalex.org/api-reference/openapi.json Retrieve a single source by OpenAlex ID or ISSN. ```APIDOC ## GET /sources/{id} ### Description Retrieve a single source by OpenAlex ID or ISSN. ### Method GET ### Endpoint /sources/{id} ### Parameters #### Path Parameters - **id** (string) - Required - OpenAlex ID (e.g., S1983995261) or ISSN ### Response #### Success Response (200) - **schema** - The schema for a single source object. #### Response Example (Response structure depends on the Source schema) ``` -------------------------------- ### List Available Changefile Dates Source: https://developers.openalex.org/download/changefiles Use this endpoint to retrieve a list of all available changefile dates. Requires an API key. ```bash curl "https://api.openalex.org/changefiles?api_key=YOUR_KEY" ``` -------------------------------- ### Get a single author Source: https://developers.openalex.org/api-reference/openapi.json Retrieve a single author by OpenAlex ID or ORCID. ```APIDOC ## GET /authors/{id} ### Description Retrieve a single author by OpenAlex ID or ORCID. ### Method GET ### Endpoint /authors/{id} ### Parameters #### Path Parameters - **id** (string) - Required - OpenAlex ID (e.g., A5023888391) or ORCID #### Query Parameters - **select** (string) - Optional - Specify which fields to include in the response. - **api_key** (string) - Optional - Your OpenAlex API key. ### Response #### Success Response (200) - **schema** - The schema for a single author object. #### Response Example (Response structure depends on the Author schema) ``` -------------------------------- ### Get Single Author Source: https://developers.openalex.org/llms.txt Retrieve a single author profile by their OpenAlex ID or ORCID. ```APIDOC ## GET /authors/{id} ### Description Retrieves a single author profile by their OpenAlex ID or ORCID. ### Method GET ### Endpoint /authors/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The OpenAlex ID (e.g., `A5023888391`) or ORCID (e.g., `orcid:0000-0000-0000-0001`) of the author. ### Request Example ```json { "example": "/authors/A5023888391" } ``` ### Response #### Success Response (200) - **id** (string) - The OpenAlex ID of the author. - **orcid** (string) - The ORCID of the author. - **display_name** (string) - The display name of the author. - ... (other author details) #### Response Example ```json { "id": "A5023888391", "orcid": "0000-0000-0000-0001", "display_name": "Albert Einstein", "works_count": 500 } ``` ```