Discover/UL Prospector API
live

UL Prospector APIulprospector.com

Search and browse UL Prospector's chemical and material database across 7 industries. Retrieve product names, INCI names, supplier info, and descriptions via 4 endpoints.

Endpoint health
verified 3d ago
get_material_detail
search_materials
list_materials
get_industries
4/4 passing latest checkself-healing
Endpoints
4
Updated
22d ago

What is the UL Prospector API?

The UL Prospector API exposes 4 endpoints for searching and retrieving chemical and material data across seven industries including Personal Care, Food, Coatings, and Adhesives. Use search_materials to find products by keyword and get back structured results with product IDs, supplier names, INCI names, and slugs ready to feed into get_material_detail for full product specifications.

Try it

No input parameters required.

api.parse.bot/scraper/0201b976-3d9d-4092-a40c-7875f8ad3806/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0201b976-3d9d-4092-a40c-7875f8ad3806/get_industries' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 ulprospector-com-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.

"""Walkthrough: UL Prospector SDK — search, browse, and drill into material details."""
from parse_apis.ul_prospector_api import ULProspector, Industry, MaterialNotFound

client = ULProspector()

# Search for materials in the Personal Care industry
for material in client.materials.search(query="sodium", industry=Industry.PERSONAL_CARE, limit=3):
    print(material.product_name, material.supplier_name, material.inci_name)

# Drill into a single result's full detail via sub-resource
material = client.materials.search(query="vitamin", industry=Industry.FOOD, limit=1).first()
if material:
    detail = material.detail.get()
    print(detail.product_name, detail.description, detail.url)

# Browse materials in an industry without a keyword
for item in client.materials.list(industry=Industry.COATINGS, limit=3):
    print(item.product_name, item.slug, item.detail_url)

# Typed error handling
try:
    bad = client.materials.search(query="nonexistent_xyz_zzz", industry=Industry.INKS, limit=1).first()
except MaterialNotFound as exc:
    print(f"Material not found: {exc.slug}")

print("exercised: materials.search / materials.list / material.detail.get / MaterialNotFound")
All endpoints · 4 totalmissing one? ·

Get the list of supported industries and their URL slugs. Returns a fixed map of industry slug to human-readable display name. Use these slugs as the industry parameter for search_materials, list_materials, and get_material_detail.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "Food": "string display name for Food, Beverage & Nutrition",
    "Inks": "string display name for Graphic Arts & Inks",
    "Cleaners": "string display name for Household, Industrial & Institutional Cleaners",
    "Coatings": "string display name for Paint & Coatings",
    "Adhesives": "string display name for Adhesives & Sealants",
    "Lubricants": "string display name for Lubricant & Metalworking Fluids",
    "PersonalCare": "string display name for Personal Care & Cosmetics"
  },
  "sample": {
    "data": {
      "Food": "Food, Beverage & Nutrition",
      "Inks": "Graphic Arts & Inks",
      "Cleaners": "Household, Industrial & Institutional Cleaners",
      "Coatings": "Paint & Coatings",
      "Adhesives": "Adhesives & Sealants",
      "Lubricants": "Lubricant & Metalworking Fluids",
      "PersonalCare": "Personal Care & Cosmetics"
    },
    "status": "success"
  }
}

About the UL Prospector API

What the API Covers

The UL Prospector API surfaces material and ingredient data from UL Prospector's database, spanning seven industry verticals: Personal Care & Cosmetics, Food Beverage & Nutrition, Graphic Arts & Inks, Household/Industrial/Institutional Cleaners, Paint & Coatings, Adhesives & Sealants, and Lubricant & Metalworking Fluids. The get_industries endpoint returns the full map of industry slugs (e.g. PersonalCare, Coatings, Lubricants) to their display names — use these slugs as the required industry parameter in every other endpoint.

Searching and Browsing Materials

search_materials accepts a query string (e.g. 'sodium', 'surfactant', 'vitamin') and an industry slug, and returns a paginated array of material objects. Each object includes product_name, product_id, supplier_id, slug, supplier_name, inci_name, description, and a detail_url. The start parameter controls the pagination offset. list_materials works similarly but without a keyword constraint, useful for bulk enumeration of materials in a given industry — results come back in batches of approximately 100, also controlled by start.

Retrieving Material Detail

get_material_detail takes the product_id, supplier_id, slug, and industry values returned by either search or list endpoint and resolves a full product record. The response includes product_name, supplier_name, inci_name, description, and the canonical url for the product page. The INCI name field may be empty for materials where INCI naming is not applicable (e.g. industrial coatings ingredients vs. cosmetic ingredients).

Pagination and Industry Scope

Both search_materials and list_materials return a total_results count alongside the results array, letting you calculate how many pages exist before issuing follow-up requests. Industry scope is enforced per request — there is no cross-industry search in a single call. To cover multiple industries, call search_materials once per relevant industry slug and merge results client-side.

Reliability & maintenanceVerified

The UL Prospector API is a managed, monitored endpoint for ulprospector.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ulprospector.com 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 ulprospector.com 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.

Last verified
3d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build an ingredient lookup tool for cosmetic formulation using INCI names returned by search_materials in the PersonalCare industry.
  • Enumerate all materials in the Food industry via list_materials to populate a food ingredient sourcing database.
  • Cross-reference supplier names from get_material_detail against an internal vendor list to identify approved raw material sources.
  • Monitor which suppliers offer a specific surfactant by searching the Cleaners industry with a keyword query.
  • Extract product descriptions from get_material_detail to feed into an NLP pipeline classifying material functionalities.
  • Build a coatings formulation assistant that resolves full product specs from product_id values collected during bulk listing.
  • Aggregate INCI name coverage across personal care ingredients to audit labeling compliance against a product portfolio.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does UL Prospector have an official developer API?+
UL Prospector does not publish a public developer API. The Parse API is the structured way to access UL Prospector material data programmatically.
What does `get_material_detail` return beyond what `search_materials` already includes?+
search_materials returns a surface-level record with product name, supplier name, INCI name, description, and a detail URL. get_material_detail resolves the same fields from the authoritative product page and confirms the canonical URL, but the key reason to call it is to ensure you have a verified, fully resolved record rather than a summary from a search index. The inci_name field may be empty for non-cosmetic categories.
Can I search across multiple industries in a single call?+
No. The industry parameter is required and scoped to one slug per request. To search across industries, call search_materials once per relevant industry slug (e.g. PersonalCare, Coatings, Food) and combine results in your application.
Does the API return regulatory or safety data, such as SDS sheets or compliance certifications?+
Not currently. The API returns product_name, supplier_name, inci_name, description, and url — it does not expose Safety Data Sheets, regulatory compliance status, or certification documents. You can fork this API on Parse and revise it to add an endpoint that retrieves those sections from the material detail page.
How does pagination work across `search_materials` and `list_materials`?+
Both endpoints return a total_results integer alongside the results array. Use the start offset parameter to page through results in increments. list_materials returns approximately 100 results per page. If total_results is 450, you would issue calls with start values of 0, 100, 200, 300, and 400 to retrieve all records.
Page content last updated . Spec covers 4 endpoints from ulprospector.com.
Related APIs in B2b DirectorySee all →
knowde.com API
Search and retrieve detailed information about chemical products, ingredients, suppliers, and brands available on the Knowde marketplace. Find specific formulations, documents, and supplier storefronts across various industries and product categories to discover suppliers and sourcing options.
uline.com API
Search Uline's catalog by keyword or category to instantly access product details, pricing, and real-time stock availability. Browse product lines and subcategories, retrieve individual model specifications, and check inventory levels across Uline's full range of industrial and commercial supplies.
ulta.com API
Search and browse Ulta Beauty's complete product catalog with real-time pricing and inventory information, then dive into detailed product specs including ingredients, usage instructions, and customer reviews. Find exactly what you're looking for across all beauty categories with comprehensive product data at your fingertips.
industrynet.com API
Find industrial suppliers and browse product categories across a comprehensive marketplace directory. Connect directly with suppliers by viewing detailed listings and submitting contact inquiries programmatically.
allsurplus.com API
Search and browse industrial assets and surplus inventory across B2B auctions, view detailed asset information, and explore upcoming auction events filtered by category and location. Find the specific equipment, machinery, and surplus items you need by browsing comprehensive product details and auction schedules.
fishersci.com API
Search and discover laboratory products from Fisher Scientific's catalog with real-time results and typeahead suggestions. Find exactly what you need with paginated product listings to browse their full inventory of lab supplies and equipment.
globalsources.com API
Search Global Sources for products and suppliers, then fetch related product info and a supplier’s latest product listings using product IDs and organization IDs.
procore.com API
Search and discover construction projects, bids, and company profiles on the Procore Construction Network. Retrieve project details including bid status, project scope, trades required, funding type, and solicitor contact information, as well as full company profiles for subcontractors and general contractors.