{
  "openapi": "3.0.1",
  "info": {
    "title": "Math Solver API: Equations, Calculus & Algebra, Step by Step",
    "description": "Solve math in plain words, LaTeX or SymPy syntax: equations, derivatives and integrals with steps, limits, series, matrices, differential equations, statistics and unit conversions. Exact answers, decimals, LaTeX and graphs. A Wolfram Alpha alternative for AI agents.",
    "version": "0.1",
    "x-build-id": "Rish0M7mL87xkjBl2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jumblemog~math-solver/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jumblemog-math-solver",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/jumblemog~math-solver/runs": {
      "post": {
        "operationId": "runs-sync-jumblemog-math-solver",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/jumblemog~math-solver/run-sync": {
      "post": {
        "operationId": "run-sync-jumblemog-math-solver",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "problem": {
            "title": "Problem",
            "type": "string",
            "description": "One math problem, written the way you would ask it: \"solve x^2 - 5x + 6 = 0\", \"integrate x^2 sin(x) dx\", \"integrate e^(-x^2) from -oo to oo\", \"derivative of x^3 at x = 2\", \"limit of sin(x)/x as x -> 0\", \"taylor series of cos(x) to order 6\", \"sum k^2 for k from 1 to n\", \"y'' + y = 0, y(0) = 1, y'(0) = 0\", \"eigenvalues of [[2, 1], [1, 2]]\", \"convert 5 miles to km\", \"mean of 3, 5, 8\" or just \"2^100\". LaTeX (\\int_0^1 x^2\\,dx) and SymPy calls (integrate(x**2, (x, 0, 1))) work too. Several equations separated by commas or on separate lines are solved together."
          },
          "problems": {
            "title": "More problems (batch)",
            "type": "array",
            "description": "More problems, one per entry, each answered (and charged) on its own. Use this to solve many problems in one run.",
            "items": {
              "type": "string"
            }
          },
          "operation": {
            "title": "Operation",
            "enum": [
              "auto",
              "evaluate",
              "simplify",
              "expand",
              "factor",
              "solve",
              "derivative",
              "integral",
              "limit",
              "series",
              "plot"
            ],
            "type": "string",
            "description": "What to do with each problem. 'Detect' reads it from the words (solve, integrate, limit of ...) or the math itself (an equation is solved, an expression simplified). Pick an operation to apply it to bare expressions, such as Integral for 'x^2 sin(x)'.",
            "default": "auto"
          },
          "variable": {
            "title": "Variable",
            "type": "string",
            "description": "The variable to solve for, differentiate or integrate by, when the problem doesn't say (as in 'for x' or 'dx'). Left empty, x is used if present, otherwise y, z, t and then the first other letter."
          },
          "showSteps": {
            "title": "Show steps",
            "type": "boolean",
            "description": "Explain how the answer was found, step by step, for derivatives (product, quotient and chain rules), integrals (substitution, integration by parts, partial fractions), limits (L'Hôpital's rule), Taylor series and linear and quadratic equations. Steps are sentences with LaTeX between $ signs.",
            "default": true
          },
          "digits": {
            "title": "Decimal digits",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Significant digits for decimal answers (the numeric field). Exact answers such as sqrt(2) or pi/4 are always given too. A problem can also ask for digits itself: 'pi to 100 digits'.",
            "default": 15
          },
          "domain": {
            "title": "Number domain",
            "enum": [
              "auto",
              "real",
              "complex"
            ],
            "type": "string",
            "description": "Where equations are solved. Auto lists every solution of polynomial equations (complex ones too) and the real solutions of equations like 2^x = 8, noting complex families separately. Inequalities are always solved over the reals.",
            "default": "auto"
          },
          "plot": {
            "title": "Add graphs",
            "type": "boolean",
            "description": "Draw a graph for answers in one variable: the function, its derivative, the area of a definite integral, a Taylor polynomial against the function, or both sides of an equation. 'plot ...' problems are always drawn. Graphs are saved in the run's key-value store and linked in plotUrl.",
            "default": false
          },
          "plotFrom": {
            "title": "Graph from",
            "type": "string",
            "description": "Left end of the x range for graphs, such as -10 or -2*pi. Left empty, the range fits the problem (-10 to 10, or -2π to 2π for trig functions)."
          },
          "plotTo": {
            "title": "Graph to",
            "type": "string",
            "description": "Right end of the x range for graphs, such as 10 or 2*pi."
          },
          "plotFormat": {
            "title": "Graph format",
            "enum": [
              "png",
              "svg"
            ],
            "type": "string",
            "description": "File format of the graphs.",
            "default": "png"
          },
          "timeoutSeconds": {
            "title": "Time limit per problem (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Stop working on a problem after this long and report it as timed out (not charged). Most problems take well under a second; hard integrals and big systems can take longer. Up to 120 s; a run stops early if its timed-out problems add up to more than 3 minutes.",
            "default": 30
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}