StructureCalcs-API

Derselbe Solver, der die Website antreibt — Träger und Fachwerke berechnen, 2.686 Profile abfragen und Diagramme erzeugen, über HTTP. Gebaut für KI-Assistenten, Ingenieure, Studierende und Institutionen.

Schnellstart

Lasten: negativ = nach unten. Eine Gleichstreckenlast nach unten schreibt sich start: -10 — die einzige Konvention, die Sie vor dem ersten Aufruf kennen müssen. Unten steht ein vollständiger, funktionierender Aufruf: ein Einfeldträger von 6 m unter einer Gleichstreckenlast von 10 kN/m. Kein Schlüssel nötig; die kostenlose anonyme Stufe antwortet sofort. Derselbe Solver treibt die Website an — wie die Zahlen überprüft werden.

curl -X POST https://api.structurecalcs.com/v1/beam/solve \
  -H 'Content-Type: application/json' \
  -d '{
    "units": "SI",
    "spans":    [{ "length": 6, "E": 200, "I": 1e8 }],
    "supports": [{ "type": "pin", "position": 0 },
                 { "type": "roller", "position": 6 }],
    "loads":    [{ "type": "udl", "start": -10, "from": 0, "to": 6 }]
  }'

Antwort

{
  "reactions": [
    { "type": "pin",    "position": 0, "vertical": 30, "moment": 0 },
    { "type": "roller", "position": 6, "vertical": 30, "moment": 0 }
  ],
  "extremes": {
    "moment":     { "maxSagging": { "value": 45, "position": 3 }, ... },
    "deflection": { "max": { "value": -8.44, "position": 3 } }
  },
  "meta": { "engineVersion": "0.1.0+…", "units": "SI", "computeMs": 1 }
}

Preise

Veröffentlichte Pauschalpreise — keine Abrechnung je Aufruf. Die kostenlose Stufe läuft in zehn Sekunden, ohne Anmeldung und ohne Identitätsprüfung. Jedes Ergebnis wird gegen klassische Handrechnungen geprüft, und für KI-Assistenten gibt es einen MCP-Endpunkt.

Wie die Grenzen wirken. Drei Fenster, alle in UTC: ein Stoß je Minute, eine Tagesgrenze (nur anonym) und eine Monatsgrenze. Jede setzt sich an ihrer eigenen Grenze zurück — die nächste Minute, Mitternacht UTC, der 1. des Monats. Wird eine davon überschritten, antwortet der Dienst mit 429 und nennt das erreichte Fenster sowohl im Detail als auch in X-RateLimit-Window, mit einem Retry-After für dieses Fenster; Berechnungsantworten führen X-RateLimit-Remaining. Ihr API-Schlüssel ist Ihr Konto — es gibt weder Login noch Passwort.

StufePreisEnthält
AnonymousFree30/Tag · 300/Monat · 10/Min. Try it instantly, no signup. Shared per IP address.Nichts zu tun — einfach aufrufen.
StudentFree2.000/Monat · 60/Min. For students, learning, and evaluation.Your own budget — the anonymous tier is shared per IP, so on a campus or office network it is consumed by whoever else is on it.Schlüssel anfordern
Pro$19/mo50.000/Monat · 300/Min. For commercial projects — includes diagram rendering.
Consultancy$79/mo250.000/Monat · 600/Min. Team use for a practice or consultancy.
Institution$499/yr100.000/Monat · 600/Min. A yearly site licence for a school or department.
AI / Enterprise$499/mo1.000.000/Monat · 1.200/Min. For AI assistants and platforms calling at scale, plus custom volumes.

Studierenden-Schlüssel werden von Hand ausgestellt, in der Regel binnen eines Tages.

Wie das Bezahlen abläuft

Wählen Sie eine kostenpflichtige Stufe und klicken Sie auf Abonnieren. Sie bezahlen auf einer Stripe-Seite in Ihrem Browser — nie im Terminal oder im Code — und Ihr Schlüssel erscheint unmittelbar danach, einmalig angezeigt. Kartendaten berühren diese API zu keinem Zeitpunkt. Verwalten oder kündigen können Sie jederzeit über das Stripe-Kundenportal; ein eigenes Login gibt es nicht. Tab geschlossen oder Schlüssel verloren? Gehen Sie auf Ihre Kontoseite, und wir senden Ihnen per E-Mail einen sicheren Link, um die Abrechnung zu verwalten oder den Schlüssel neu ausstellen zu lassen.

Studierenden-Schlüssel bleiben auf Anfrage (sie sind kostenlos), und die anonyme Stufe verlangt überhaupt nichts.

Häufige Fragen

Hat StructureCalcs eine API, und ist sie REST?
Ja. StructureCalcs hat eine öffentliche REST-API unter api.structurecalcs.com, die denselben Solver wie die Website über HTTP ausführt. Sie senden JSON per POST an Endpunkte wie /v1/beam/solve und /v1/truss/solve; GET-Endpunkte liefern die Profilbibliothek und die Normen. Dazu kommen /v1/health und die OpenAPI-3.1-Spezifikation unter /v1/openapi.json. Die interaktive Referenz sowie Schnellstarts für curl, Python und JavaScript zum Kopieren stehen auf der Seite /api.
Gibt es einen MCP-Server für StructureCalcs, damit KI-Assistenten Träger, Fachwerke und Rahmen rechnen können?
Ja. Unter https://api.structurecalcs.com/mcp läuft ein zustandsloser MCP-Server, der JSON-RPC über HTTP spricht. Er stellt neun Werkzeuge bereit: solve_beam, solve_truss, solve_frame, section_properties, get_section, search_sections, render_beam_diagram, render_truss_diagram und render_frame_diagram. In Claude Code fügen Sie ihn mit „claude mcp add --transport http structurecalcs https://api.structurecalcs.com/mcp“ hinzu, oder Sie tragen die URL in Claude.ai als eigenen Konnektor ein.
Was lässt sich über die StructureCalcs-API rechnen und zeichnen?
Sie können Durchlaufträger rechnen (Einzellasten, gleichmäßige und linear veränderliche Streckenlasten — damit auch Dreieck- und Trapezlasten —, Druck- bzw. Flächenlasten sowie eingeprägte Momente; zurück kommen Auflagerkräfte plus Querkraft, Moment, Verdrehung und Durchbiegung samt Extremwerten), ebene Fachwerke mit gelenkigen Knoten rechnen (Stabkräfte, Auflagerreaktionen, Auflagersetzungen, Temperatur- und Fertigungseinflüsse), alle 2.686 Stahlprofile der sechs Normen abfragen und Träger- oder Fachwerkdiagramme zeichnen lassen. Diagramme kommen als SVG zurück. Endpunkte für PDF, PNG oder den Berichtsgenerator gibt es in dieser Version nicht.
Ist die StructureCalcs-API kostenlos, und was kostet sie?
Es gibt eine kostenlose anonyme Stufe, die ohne Anmeldung funktioniert und auf 30 Anfragen pro Tag und 300 pro Monat je IP-Adresse begrenzt ist, mit bis zu 10 pro Minute. Ein ebenfalls kostenloser Studierendenschlüssel hebt das auf 2.000 Anfragen im Monat. Die kostenpflichtigen Stufen sind Pro für 19 $/Monat, Consultancy für 79 $/Monat, Institution für 499 $/Jahr und AI/Enterprise für 499 $/Monat; abgerechnet wird pauschal, nicht nach Verbrauch. Die Bezahlstufen laufen im Selbstbedienungsverfahren: in der Preistabelle auf Abonnieren klicken, bei Stripe mit Karte zahlen, und der Schlüssel wird einmalig angezeigt — verwalten oder kündigen jederzeit im Stripe-Kundenportal.
Wie authentifiziert man sich bei der StructureCalcs-API?
Für die kostenlose anonyme Stufe ist keine Authentifizierung nötig — Sie können sofort loslegen. Für höhere Grenzen senden Sie Ihren Schlüssel als HTTP-Header, Authorization: Bearer sc_live_…; dieser Schlüssel ist Ihr ganzes Konto (Benutzername und Passwort gibt es nicht). Ein kostenpflichtiger Schlüssel wird ausgestellt, sobald Sie bei Stripe abonnieren und zahlen; einen kostenlosen Studierendenschlüssel stellen wir auf Anfrage von Hand aus.
Welche Einheiten und Vorzeichenregeln verwendet die StructureCalcs-API?
Jede Anfrage kann die Einheiten auf SI (m, kN, kN/m, GPa, mm4) oder imperial (ft, kip, k/ft, ksi, in4) setzen, wie auf der Website; ohne dieses Feld gilt SI. Die eine Vorzeichenregel, die man kennen muss: Lasten sind nach unten negativ, eine Gleichlast aus Schwerkraft heißt also start: -10. Auch Auflagersetzungen sind nach unten negativ, und Stabkräfte kommen zugpositiv und drucknegativ zurück.

API-Referenz

Der vollständige Vertrag — jeder Endpunkt, jedes Schema, jeder Fehler — erzeugt aus der OpenAPI-3.1-Spezifikation.

v1.0.0
OpenAPI 3.1.0

The StructureCalcs public API: the same WASM solver that powers structurecalcs.com, at the edge.

Units — every request takes "units": "SI" (default) or "imperial"; each field documents its unit. SI = m · kN · kN/m · kPa · kN·m · GPa · mm⁴ · mm² · mm. Imperial = ft · kip · k/ft · ksf · k·ft · ksi · in⁴ · in² · in. Conversions are identical to the website’s. Sign conventions — loads negative = downward; applied moments clockwise-positive; support settlements DOWN IS NEGATIVE; truss and frame member axial forces tension-positive; frame REACTION moments clockwise-positive. Auth & limits — anonymous (no key) is a real, free, rate-limited tier. Authorization: Bearer sc_live_… lifts the limits. See the tiers below.

Accuracy — every result is held to the same hand-calculation standard as the website’s Learn examples (a permanent golden test reproduces the classical solutions through this API).

NOT in v1 (roadmap, named so nobody infers omission): server-side PDF or PNG export, the report-builder document endpoints, batch/bulk solving, async jobs, webhooks, and file storage/share links.

Server:https://api.structurecalcs.com

Production

No authentication selected
Client Libraries

Structural analysis.

SVG diagrams (the website’s figures).

The steel section library (2,600+ sections; 6 standards).

Health & the spec.

  • type
    Type: string Format: uri
    required
  • title
    Type: string
    required
  • status
    Type: integer
    required

    Integer numbers.

  • code
    Type: string enum
    required

    A stable machine code. invalid_input (400, schema/validation — see issues[]) · unauthorized (401, bad API key; ABSENCE of a key is the anonymous tier, not an error) · rate_limited (429, with Retry-After) · unstable_structure (422, a mechanism/singular system, never a 500) · engine_error (422) · payload_too_large (413) · not_found (404) · method_not_allowed (405) · stripe_error (502, an upstream Stripe rejection surfaced with Stripe’s own message + code — returned only by the self-serve account/billing endpoints, e.g. checkout/portal, never by the analysis API) · internal_error (500).

    values
    • invalid_input
    • unauthorized
    • rate_limited
    • payload_too_large
    • not_found
  • detail
    Type: string
  • issues
    Type: array object[]

    Per-field validation problems (invalid_input only) — path is the dotted JSON path.

  • units
    Type: string enum

    Unit system. SI: m, kN, kN/m, kPa, kN.m, GPa, mm4, mm2, mm. imperial: ft, kip, k/ft, ksf, k.ft, ksi, in4, in2, in.

    values
    • SI
    • imperial
  • spans
    Type: array object[] 1…20
    required

    Consecutive spans left to right; each carries its own E·I (stepped sections supported).

  • supports
    Type: array object[] 1…21
    required
  • loads
    Type: array …200
  • combinations
    Type: object
  • units
    Type: string enum

    Unit system. SI: m, kN, kN/m, kPa, kN.m, GPa, mm4, mm2, mm. imperial: ft, kip, k/ft, ksf, k.ft, ksi, in4, in2, in.

    values
    • SI
    • imperial
  • nodes
    Type: array object[] 2…300
    required
  • members
    Type: array object[] 1…1000
    required
  • materials
    Type: array object[] 1…100
    required
  • supports
    Type: array object[] 1…100
    required
  • loads
    Type: array …500
  • fabricationErrors
    Type: array …200
  • combinations
    Type: object
  • units
    Type: string enum

    Unit system. SI: m, kN, kN/m, kPa, kN.m, GPa, mm4, mm2, mm. imperial: ft, kip, k/ft, ksf, k.ft, ksi, in4, in2, in.

    values
    • SI
    • imperial
  • nodes
    Type: array object[] 2…300
    required
  • members
    Type: array object[] 1…1000
    required
  • materials
    Type: array object[] 1…100
    required
  • supports
    Type: array object[] 1…100
    required
  • nodalLoads
    Type: array object[] …500
  • memberLoads
    Type: array object[] …500
  • units
    Type: string enum

    Unit system. SI: m, kN, kN/m, kPa, kN.m, GPa, mm4, mm2, mm. imperial: ft, kip, k/ft, ksf, k.ft, ksi, in4, in2, in.

    values
    • SI
    • imperial
  • shapes
    Type: array 1…200
    required

    The pieces the section is made of. Overlapping solids are UNIONED — shared material is counted once, so you can build a section from pieces that lap over each other without inflating the area. A void removes material wherever it lies inside a solid.

  • units
    Type: string enum

    Unit system. SI: m, kN, kN/m, kPa, kN.m, GPa, mm4, mm2, mm. imperial: ft, kip, k/ft, ksf, k.ft, ksi, in4, in2, in.

    values
    • SI
    • imperial
  • spans
    Type: array object[] 1…20
    required

    Consecutive spans left to right; each carries its own E·I (stepped sections supported).

  • supports
    Type: array object[] 1…21
    required
  • loads
    Type: array …200
  • combinations
    Type: object
  • view
    Type: string enum

    Which figure: 'problem' (clean setup) · 'setup' (with reactions) · 'results' (reactions + deflected shape) · 'shear' | 'moment' | 'axial' | 'deflection' (the charts; the BMD uses the site's sagging-positive convention, and 'axial' is tension-positive and reads zero throughout unless a load is tilted).

    values
    • problem
    • setup
    • results
    • shear
    • moment
    • axial
    • deflection
  • deformed
    Type: boolean

    Overlay the deflected shape on the 'setup' view.

  • width
    Type: integer
    min:  
    400
    max:  
    2000

    SVG width in px (default 860 — the site figure width).

  • height
    Type: integer
    min:  
    150
    max:  
    1500

    SVG height in px (defaults per view: 250 beam · 240 charts · 460 truss).

  • theme
    Type: string enum

    Colour theme: 'light' (default — the paper look, byte-identical to the site's figures) or 'dark' (dark-mode figures on a slate ground).

    values
    • light
    • dark
  • style
    Type: string enum

    Drawing style: 'modern' (default — the site's textbook look: open-triangle supports with a solid hinge dot) or 'classic' (the original engineering-schematic glyphs).

    values
    • classic
    • modern
  • units
    Type: string enum

    Unit system. SI: m, kN, kN/m, kPa, kN.m, GPa, mm4, mm2, mm. imperial: ft, kip, k/ft, ksf, k.ft, ksi, in4, in2, in.

    values
    • SI
    • imperial
  • nodes
    Type: array object[] 2…300
    required
  • members
    Type: array object[] 1…1000
    required
  • materials
    Type: array object[] 1…100
    required
  • supports
    Type: array object[] 1…100
    required
  • loads
    Type: array …500
  • fabricationErrors
    Type: array …200
  • combinations
    Type: object
  • view
    Type: string enum

    Which figure: 'problem' (geometry + loads + supports) · 'results' (reactions + member forces coloured tension-red/compression-blue + deflected shape).

    values
    • problem
    • results
  • width
    Type: integer
    min:  
    400
    max:  
    2000

    SVG width in px (default 860).

  • height
    Type: integer
    min:  
    150
    max:  
    1500

    SVG height in px (default 460).

  • theme
    Type: string enum

    Colour theme: 'light' (default — the paper look, byte-identical to the site's figures) or 'dark' (dark-mode figures on a slate ground).

    values
    • light
    • dark
  • style
    Type: string enum

    Drawing style: 'modern' (default — the site's textbook look: open-triangle supports with a solid hinge dot) or 'classic' (the original engineering-schematic glyphs).

    values
    • classic
    • modern
  • units
    Type: string enum

    Unit system. SI: m, kN, kN/m, kPa, kN.m, GPa, mm4, mm2, mm. imperial: ft, kip, k/ft, ksf, k.ft, ksi, in4, in2, in.

    values
    • SI
    • imperial
  • nodes
    Type: array object[] 2…300
    required
  • members
    Type: array object[] 1…1000
    required
  • materials
    Type: array object[] 1…100
    required
  • supports
    Type: array object[] 1…100
    required
  • nodalLoads
    Type: array object[] …500
  • memberLoads
    Type: array object[] …500
  • view
    Type: string enum

    Which figure: 'problem' (geometry + supports + loads, no results) · 'results' (the solved frame with support reactions annotated) · 'deflected' (the exaggerated deflected shape, dashed, over the undeformed frame).

    values
    • problem
    • results
    • deflected
  • width
    Type: integer
    min:  
    400
    max:  
    2000

    SVG width in px (default 860).

  • height
    Type: integer
    min:  
    150
    max:  
    1500

    SVG height in px (default 420).

  • theme
    Type: string enum

    Colour theme: 'light' (default — the paper look, byte-identical to the site's figures) or 'dark' (dark-mode figures on a slate ground).

    values
    • light
    • dark
  • style
    Type: string enum

    Drawing style: 'modern' (default — the site's textbook look: open-triangle supports with a solid hinge dot) or 'classic' (the original engineering-schematic glyphs).

    values
    • classic
    • modern
  • reactions
    Type: array object[]
  • diagrams
    Type: object

    Each series is [position, value] pairs, in the display convention (sagging-positive BMD).

  • extremes
    Type: object

    Max/min with the position each occurs at.

  • meta
    Type: object ·
  • links
    Type: object ·

    links.view opens THIS EXACT model, solved, on structurecalcs.com — the SI-normalized, material-resolved model is deflate-raw + base64url encoded into the URL’s ?model= parameter. The whole links block is OMITTED when the encoded URL would exceed 2,000 characters: a model is never truncated, so the link can never show something different from this response.

  • reactions
    Type: array object[]
  • members
    Type: array object[]
  • displacements
    Type: array object[]
  • meta
    Type: object ·
  • area
    Type: number

    mm2 | in2.

  • centroid
    Type: object

    In the coordinates you supplied.

  • Ix
    Type: number

    Second moment about the centroidal x axis (mm4 | in4).

  • Iy
    Type: number
  • Ixy
    Type: number

    Product of inertia about the centroidal axes — zero for a section symmetric about either.

  • principal
    Type: object
  • rx
    Type: number
  • ry
    Type: number
  • Zx
    Type: number

    Governing ELASTIC section modulus, Ix/c (mm3 | in3). AS 4100 naming — AISC tables call this S.

  • Zy
    Type: number

    Governing ELASTIC section modulus about y, Iy/c (mm3 | in3). AS 4100 naming — AISC tables call this S.

  • elasticModuli
    Type: object

    Per-fibre elastic moduli.

  • Sx
    Type: number

    PLASTIC section modulus about x (mm3 | in3). AS 4100 naming — AISC tables call this Z.

  • Sy
    Type: number

    PLASTIC section modulus about y (mm3 | in3). AS 4100 naming — AISC tables call this Z.

  • plasticNeutralAxis
    Type: object
  • extents
    Type: object
  • notes
    Type: array string[]

    What is NOT included — currently that J and Cw are not computed.

  • meta
    Type: object ·
  • reactions
    Type: array object[]
  • memberForces
    Type: array object[]
  • displacements
    Type: array object[]
  • meta
    Type: object ·
  • links
    Type: object ·

    links.view opens THIS EXACT model, solved, on structurecalcs.com — the SI-normalized, material-resolved model is deflate-raw + base64url encoded into the URL’s ?model= parameter. The whole links block is OMITTED when the encoded URL would exceed 2,000 characters: a model is never truncated, so the link can never show something different from this response.

  • Type: array array number[][]

    [position, value] pairs.

  • engineVersion
    Type: string
  • units
    Type: string enum
    values
    • SI
    • imperial
  • unitLabels
    Type: object
  • computeMs
    Type: number
  • attribution
    Type: string

    One-line attribution: "Solved by StructureCalcs — structurecalcs.com".

  • warnings
    Type: array string[]

    Non-fatal advisories — e.g. every load points UPWARD (+), which usually means the caller assumed down-positive; the convention is NEGATIVE = downward.

  • view
    Type: string Format: uri

    Open this model, solved, in the interactive calculator.

    1. Nutzungsbedingungen

      Mit der Nutzung der StructureCalcs-API stimmen Sie diesen Bedingungen zu, zusammen mit den Nutzungsbedingungen und der Datenschutzerklärung der Website.

      • Zulässige Nutzung. Nutzen Sie die API für ihren Zweck — Tragwerksmodelle berechnen, die Profilbibliothek abfragen und Diagramme erzeugen. Versuchen Sie nicht, sie zu überlasten, die Nutzungsgrenzen zu umgehen, den reinen Zugang weiterzuverkaufen oder damit einen konkurrierenden gehosteten Solver zu betreiben.
      • Keine Gewähr; kein Ersatz für ingenieurmäßiges Urteil. Ergebnisse werden „wie besehen“ bereitgestellt, ohne Gewährleistung jeder Art. Die API ist ein Rechenwerkzeug — für Prüfung und Freigabe eines Entwurfs bleibt eine qualifizierte Fachperson verantwortlich.
      • Grenzen und Stufen können sich ändern. Nutzungsgrenzen, Kontingente, Stufendefinitionen und Preise können sich mit angemessener Vorankündigung ändern, während sich der Dienst weiterentwickelt.
      • Schlüssel können widerrufen werden. API-Schlüssel, die den Dienst missbrauchen — Umgehen von Grenzen, Beeinträchtigen der Verfügbarkeit oder Verstoß gegen diese Bedingungen — können gedrosselt oder widerrufen werden.

      Fragen? Schreiben Sie uns.

      Verifying your link…