Need to manage API keys, view logs, or check usage?Open the Developer portal →

List materials

Search and list materials in the Circa library.

GET/public/materials

Query parameters

ParameterTypeDescription
searchstringCase-insensitive substring match on material name.
limitintegerdefault: 25Number of records to return. 1–100.
offsetintegerdefault: 0Records to skip.
pulledbooleandefault: falseWhen true, restrict to materials whose properties the active team has pulled. Each returned material's propertiesincludes the revealed values for the rows you've paid for; rows you haven't paid for stay masked (value: null).

Response

Each material includes the same columns shown in the library table on app.circa.ai — inputTo / outputOf (the processes this material participates in) and the per-property rows. For each property, revealed tells you whether your team has paid for that specific row.

200OK
{
  "items": [
    {
      "id": "m_8c2…",
      "name": "Polyethylene, high density, granulate",
      "source": "Ecoinvent 3.10",
      "sourceOrganization": "ecoinvent",
      "functionalUnit": "kg",
      "compartment": "Production",
      "regionalScopes": "GLO, RoW",
      "datePublished": "2024-09-01",
      "revealed": false,
      "deleted": false,
      "isFavorite": false,
      "inputTo": [
        "market for trimethyl borate (GLO)",
        "Sang test (RU)"
      ],
      "outputOf": [
        "Ready Mix, L631L603 Production",
        "Ready Mix, Mix 508108 Production"
      ],
      "properties": [
        {
          "id": "55ada…",
          "name": "carbon content",
          "value": null,
          "unit": "kg",
          "revealed": false,
          "deleted": false,
          "revealType": null
        }
      ]
    }
  ],
  "total": 12453,
  "hasMore": true
}

Notable fields

  • inputTo / outputOf — names of processes that consume this material as an input or produce it as an output. Same columns you see in the library table at app.circa.ai.
  • regionalScopes — comma-joined list of regions the material is sourced from (e.g. "GLO, RoW").
  • properties[].revealedtrue if the active team has pulled this property. When false, the numeric value is null. Purchase access via POST /materials/:id/properties/pull with the property's id.
  • isFavoritetrue if the requesting user has favorited this material on the active team.
  • deleted — always false on the public API; soft-deleted records are filtered out at the gateway.

Example

curl -s 'https://api.circa.ai/public/materials?search=polyethylene&limit=10' \
  -H 'x-api-key: circa_live_xxx' \
  -H 'x-team-id: TEAM_ID_FROM_OVERVIEW' \
  -H 'Circa-Version: 2026-05-11.arrakis'

Owned-only listing

To list only the materials your team has at least one revealed property on, add ?pulled=true:

curl -s 'https://api.circa.ai/public/materials?pulled=true&limit=100' \
  -H 'x-api-key: circa_live_xxx' \
  -H 'x-team-id: TEAM_ID_FROM_OVERVIEW' \
  -H 'Circa-Version: 2026-05-11.arrakis'