Rct Online APIrct-online.de ↗
Access chemical resistance data and product catalog from rct-online.de. Query material-chemical compatibility ratings and retrieve product details via 7 endpoints.
What is the Rct Online API?
This API exposes 7 endpoints covering Reichelt Chemietechnik's chemical resistance database and product catalog. Use get_resistance_by_material_and_chemical to look up a specific material-chemical compatibility pair, or pull full resistance matrices by material or chemical. Separate endpoints handle product search and detailed product data including pricing and variations.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/e7117ea5-b301-4b1a-8c72-5b01296c96fa/get_chemical_list' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace rct-online-de-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.rct_online_api import RCT, Chemical, Material, ResistanceEntry
rct = RCT()
# List all available chemicals
for chemical in rct.chemicals.list(limit=5):
print(chemical.id, chemical.name)
# Construct a chemical by ID and get its resistance data
chem = rct.chemical(id="11")
resistance = chem.resistance()
print(resistance.chemical_id)
for entry in resistance.materials:
print(entry.name, entry.rating)
# Construct a material and check what chemicals it resists
mat = rct.material(id="41")
mat_resistance = mat.resistance()
print(mat_resistance.material_id)
for entry in mat_resistance.chemicals:
print(entry.name, entry.rating)
# Check a specific material-chemical pair
pair = rct.resistancepairs.check(chemical_id="11", material_id="41")
print(pair.material_name, pair.resistance_status)
# Search for products
for product in rct.products.search(query="pipette", limit=3):
print(product.name, product.item_number)
# Get full product details by item number
detail = rct.products.get(item_number="G60056")
print(detail.name, detail.price, detail.description)
Get the full list of chemicals in the resistance database. Returns all chemicals with their IDs and names in a single response. Use to discover chemical_id values for resistance lookups.
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of chemical objects each containing id (string) and name (string)"
},
"sample": {
"data": {
"items": [
{
"id": "11",
"name": "Abietic acid"
},
{
"id": "13",
"name": "Acetaldehyde (ethanal), 40%"
},
{
"id": "14",
"name": "Acetamide"
}
]
},
"status": "success"
}
}About the Rct Online API
Chemical Resistance Database
The API provides structured access to Reichelt Chemietechnik's resistance database through four core endpoints. get_chemical_list and get_material_list return the full indexed sets of chemicals and materials, each with numeric id and name fields. These IDs are the primary keys used across the other resistance endpoints. get_resistance_by_chemical accepts either a chemical_id or chemical_name and returns an array of materials with their resistance rating for that chemical. get_resistance_by_material works in reverse — provide a material_id or partial material_name to get ratings for all chemicals against that material.
Point Lookups and Compatibility Checks
get_resistance_by_material_and_chemical accepts both a chemical_id and a material_id and returns a single resistance_status value for that pair, along with the resolved material_name. This is useful when you already know both IDs and need a fast compatibility check without parsing a full matrix. All resistance endpoints return a status field alongside data to indicate whether the lookup succeeded.
Product Catalog
search_products takes a required query string (e.g. 'ball valve', 'tubing') with an optional limit parameter and returns an array of product summaries, each containing name, url, and item_number. To retrieve full product details, pass the url from search results — or a known item_number with its G prefix (e.g. G350322) — to get_product_details. The response includes name, description, price, item_number, url, and a variations array covering product variants.
The Rct Online API is a managed, monitored endpoint for rct-online.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rct-online.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official rct-online.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a compatibility checker that flags which materials resist a given chemical using get_resistance_by_chemical ratings
- Automate material selection for fluid handling equipment by querying get_resistance_by_material against process chemicals
- Cross-reference specific material-chemical pairs in bulk using get_resistance_by_material_and_chemical for quality assurance workflows
- Populate a product database with current pricing and variant data from get_product_details using item numbers
- Index Reichelt Chemietechnik's catalog for internal procurement search using search_products with product category keywords
- Generate resistance matrix exports by combining get_chemical_list, get_material_list, and iterative resistance lookups
- Validate supplier part numbers by resolving G-prefixed item_numbers through get_product_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does rct-online.de offer an official developer API?+
What does the resistance rating field actually contain — a numeric score or a category label?+
rating field returned by get_resistance_by_chemical and get_resistance_by_material reflects the classification used in the source database. Values are category labels (such as resistance grades) rather than numeric scores. The exact label set mirrors what Reichelt Chemietechnik publishes in their resistance tables.Does get_product_details return stock availability or inventory levels?+
name, description, price, item_number, url, and variations — it does not include stock levels or availability status. You can fork the API on Parse and revise it to add an endpoint targeting that data if stock information appears on the product page.Can I retrieve resistance data for a chemical by partial name rather than an exact match?+
chemical_name as returned by get_chemical_list, or a chemical_id. Partial name matching is not supported for chemicals. The get_resistance_by_material endpoint does support partial material_name matching. To handle fuzzy chemical lookups, you can call get_chemical_list first and filter the result client-side, or fork the API on Parse and revise it to add partial-match resolution.