ParseForge Scrapers

EBI OLS Ontologies Scraper

parseforge/ebi-ols-ontologies-scraper

News & mediaOther

Scrapes ontology terms from the EMBL-EBI Ontology Lookup Service API and returns each term as a flat row with its IRI, label, synonyms, description, and ontology source.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
94
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

EBI OLS Ontologies Scraper

Scrape ontology terms and metadata from the EMBL-EBI Ontology Lookup Service, up to a million per run. Every term comes with its IRI, label, synonyms, description, and ontology source. No API key. Export to CSV, JSON, Excel, or XML.

The EMBL-EBI Ontology Lookup Service (OLS) hosts hundreds of biomedical ontologies, but browsing them manually or writing API pagination code slows you down. This actor reads the public OLS API directly, collects terms across any number of ontologies, and returns each one in a flat, consistent row. You get the full term metadata without managing rate limits or OAuth.

Who uses it What they scrape EBI OLS for
Bioinformaticians Building a local knowledge graph of ontology terms for semantic enrichment pipelines.
Data curators Auditing term definitions and synonyms across ontologies for consistency.
Machine learning engineers Creating a training corpus of labeled biomedical concepts from structured vocabularies.
Pharma researchers Mapping drug targets to disease ontology terms for indication expansion analysis.

What it does

This actor collects ontology terms from the EBI OLS API and returns each term as a flat row with its IRI, label, synonyms, description, and ontology provenance.

  • ๐Ÿ”ข Configurable volume: Set a maximum number of ontologies to collect, from a single test run to a full-scale harvest.
  • ๐Ÿ“‹ Fixed flat schema: Every term is returned in the same columns regardless of ontology, so your downstream pipeline never breaks.
  • ๐ŸŒ Public API only: No login, no API key registration, no OAuth flow. The actor reads the same endpoints your browser can see.
  • ๐Ÿ“ค Multi-format export: Download your dataset as CSV, JSON, Excel, or XML directly from the Apify dataset tab.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with EBI OLS data

๐Ÿงฌ Build a biomedical knowledge graph.

A bioinformatician runs the actor to collect all terms from Gene Ontology and EFO, then loads the flat dataset into Neo4j for semantic querying.

๐Ÿ“‹ Audit ontology term definitions.

A data curator scrapes a subset of disease ontologies to compare term labels and synonyms across MONDO and DOID for a harmonization project.

๐Ÿค– Train a named entity recognition model.

An ML engineer collects term labels and synonyms from multiple ontologies to build a dictionary-based NER tagger for biomedical literature.

๐Ÿ’Š Map drug targets to disease concepts.

A pharma researcher scrapes EFO disease terms and cross-references them with internal target data to prioritize indications for a lead compound.

Why choose this scraper

What you get
No API key needed Reads the public OLS API with no registration or authentication.
Flat row per term Every term lands in your dataset with the same columns, ready for analysis.
Scales to a million Collect up to 1,000,000 ontologies in a single run without manual pagination.
Biomedical coverage Access terms from Gene Ontology, EFO, MONDO, and hundreds more OLS-hosted ontologies.

How it compares

No other Store actor targets EBI OLS the same way, so the honest comparison is with the alternatives teams actually weigh.

EBI OLS Ontologies Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When EBI OLS changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the actor by setting the maximum number of ontologies to scrape, and it collects terms until that limit is reached. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10
}

A larger pull:

{
  "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the EBI OLS Ontologies Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to EBI OLS through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/ebi-ols-ontologies-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting fewer results than my maxItems setting?

The actor stops when it has collected the available ontologies from the OLS API. If the total number of ontologies hosted is less than your maxItems, you will receive all of them and the run will finish normally.

The run failed with a timeout error.

The OLS API may be experiencing high load. Increase the run timeout in your Apify actor settings and retry. If the problem persists, reduce maxItems to shorten the run duration.

Some terms are missing their descriptions.

Not all ontology terms in OLS have a description field populated. The actor returns whatever metadata the API provides, and empty fields will appear as blank cells in your dataset.

I need terms from a specific ontology only.

The current input does not filter by ontology ID. As a workaround, run the actor to collect all terms and then filter the resulting dataset by the ontology column in your analysis tool.

The dataset contains duplicate terms.

The OLS API may return the same term under different ontology contexts. Use the IRI column to deduplicate rows in your post-processing step.

FAQ

Question Answer
Do I need an API key to scrape EBI OLS? No. The actor reads the public OLS REST API, which requires no authentication or API key registration.
What ontologies can I scrape? The actor collects terms from any ontology hosted on the EBI Ontology Lookup Service, including Gene Ontology, EFO, MONDO, DOID, and hundreds more.
How many terms can I collect in one run? You set the maximum number of ontologies to scrape, up to 1,000,000 per run. The actor stops when it reaches that limit or exhausts the available ontologies.
What does each row in the dataset contain? Each row represents one ontology term and includes its IRI, label, synonyms, description, and the ontology it belongs to, all in a flat schema.
Can I filter by a specific ontology? The current input lets you set a maximum count. For ontology-specific filtering, you can post-process the dataset or contact support for a custom version.
Is this faster than writing my own OLS API script? Yes. The actor handles pagination, error recovery, and parallel requests automatically, so you get a complete dataset without writing API plumbing.
What export formats are supported? You can download your results as CSV, JSON, Excel, or XML from the Apify dataset tab.
Does this actor respect EBI's rate limits? Yes. The actor is configured to stay within the public API's fair-use thresholds, so your runs complete without being blocked.
Can I run this on a schedule? Yes. Use Apify's scheduler to run the actor daily or weekly and track changes in ontology terms over time.
What if an ontology is deprecated or moved? The actor follows the OLS API's current listings. If an ontology is no longer served, it will not appear in your results.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by EMBL-EBI. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer Maximum number of ontologies to collect per run. 10

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~ebi-ols-ontologies-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run EBI OLS Ontologies Scraper on Apify All scrapers