Acoustic IndexAcoustic Index
SucheAPINachhallzeit Rechner
Für ProfessionalsFür Hersteller

API docs

Getting started

OverviewAuthenticationAccess and keys

API reference

Interactive referenceSearch materialsMaterial detailPublic endpoints

Operations

Errors and rate limits

Read API

Search materials

Search acoustic materials and get a compact, paginated result list. Use it for search UIs, material pickers, browse views, and sync jobs.

When to use it

Search first, then load detail only when you need it

Search returns just enough data to render a result list quickly. Once the user picks a product, ask the detail endpoint for images, specs, and absorption data.

Great for

Material pickers, search result lists, browse views, and any screen where you need to show many materials at once.

Need more data?

Once you know which product the user cares about, call `GET /materials/{id}` to load the full record with images, specs, and absorption coefficients.

Endpoint reference

GET /api/v1/materials/search

Pass a search query and a page, get back a ranked list of matching materials.

GET200 OK

Search published materials

Search for acoustic materials and get a compact result list. Perfect for pickers, autocomplete, browse pages, or any flow where you need to let users find a product.

/api/v1/materials/search
`q` is optional. Leave it out to browse the most recently updated materials.
`page` is zero-based. `limit` defaults to `20` and is capped at `50`, no matter what you pass.
Use `has_more` to decide whether to ask for the next page, instead of guessing from `items.length`.

Request contract

Authorization

Bearer <api_key>

Your API key, sent in the `Authorization` header on every request.

q

string | optional

Free-text search across product name, manufacturer, and description.

page

number | optional

Zero-based page number. Defaults to `0`.

limit

number | optional

How many items you want per page. Defaults to `20`, maximum `50`.

Response contract

items

array

The results for this page, in ranked order.

page

number

The page number you asked for, echoed back.

limit

number

The page size actually used. If you asked for more than `50`, this will show `50`.

total_count

number

Total number of matching materials across all pages. Handy for showing result counts in your UI.

has_more

boolean

`true` when there are more pages waiting. Use this to drive your pagination controls.

items[]

Each search result is a lightweight summary. Fetch the detail endpoint when you need images or full measurement data.

id

string

The product's canonical UUID. Pass this — or the `slug` field below — to `GET /materials/{id}` to load the full record.

slug

string

Human-readable, globally unique identifier (e.g. `fural-systeme-amp-p`). Stable for the lifetime of the product. Use this if you want a readable material name in Blender, Revit, etc.

label

string

A ready-to-display label for the product, already fallback-friendly.

commercial_name

string | null

The official marketing name of the product, if the manufacturer has one.

manufacturer

string

The manufacturer's name as a flat string, ready to render.

material_category

string | null

Broad category of the material, e.g. textile, metal, or wood.

installation_types

string[]

Where the product can be installed, e.g. `wall` or `ceiling`.

alpha_w

number | null

Weighted absorption coefficient (`α_w`) per ISO 11654, if a value is available.

updated_at

string (ISO 8601) | null

When the product data was last updated. Useful for incremental syncs.

Request example

curl "https://acousticindex.com/api/v1/materials/search?q=wood&page=0&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response example

{
  "items": [
    {
      "id": "11111111-2222-3333-4444-555555555555",
      "slug": "fural-systeme-amp-p",
      "label": "Acoustic panel",
      "commercial_name": "Panel 50",
      "manufacturer": "Acme Acoustic",
      "material_category": "textile",
      "installation_types": ["wall"],
      "alpha_w": 0.85,
      "updated_at": "2026-04-01T10:00:00.000Z"
    }
  ],
  "page": 0,
  "limit": 20,
  "total_count": 142,
  "has_more": true
}

Behavior

A few things to keep in mind

Small details about pagination and nullable fields that can save you from surprises later.

Pagination uses `total_count` and `has_more`

Each response gives you `items`, `page`, `limit`, `total_count`, and `has_more`. Check `has_more` before asking for the next page so you don't request empty results.

`page` is zero-based

The first page is `page=0`. Negative values are clamped to zero, and `limit` is capped at `50` even if you ask for more.

`manufacturer` is a flat string

You get the manufacturer's name as a plain string, not a nested object, so you can render it directly in your UI.

`alpha_w` can be `null`

When a product has no weighted absorption value yet, this field is `null`. Handle that case in your UI instead of assuming a number.

Acoustic IndexAcoustic Index

Die Datenbank für akustische Materialkennwerte. Professionelle Messdaten nach ISO-Normen.

Produkte

  • Absorber
  • Diffusoren
  • Alle Produkte

Unternehmen

  • Über uns
  • Kontakt
  • Für Hersteller

Werkzeuge

  • Read API
  • Nachhallzeit Rechner

Rechtliches

  • Impressum
  • Datenschutz
  • AGB
  • Nutzungsbedingungen

© 2026 Acoustic Index. Alle Rechte vorbehalten.