OpenViSTAI · Agents · Blockchain · Crypto
Menu
Agent Memory & RAG

Makra

Makra is an open-source Python and JavaScript SDK for sending URLs and data schemas to a remote web-extraction API and receiving structured JSON. Its clients support immediate requests, streamed progress and deferred runs that can be retrieved or cancelled.

Independent OpenViST project profile, based on linked sources.

Makra — OpenViST project profile in Agent Memory & RAG.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Makra when an application needs to request selected fields from web pages through the Makra extraction API and consume the response as JSON. Choose immediate, streamed or deferred SDK workflows according to how the application handles the request.

Who it is for

  • Developers adding web-sourced structured context to AI-agent applications
  • Teams building research or extraction pipelines around specified fields
  • Python and JavaScript developers managing streamed or deferred extraction work

Documented uses

  • Extract repeated records, such as product names, prices and URLs, from a web page into JSON.
  • Request defined fields from selected pages for a research workflow.
  • Follow extraction progress through streamed lifecycle events and retrieve results by run ID.
  • Submit longer-running work and manage its result or cancellation through the SDK.
Before you choose

Requirements & limits

Requests require a Makra API key. The documented SDK prerequisites are Python 3.9 or later for Python and Node.js 18 or later for JavaScript. The SDK packages use the MIT License.

  • Makra’s SDKs call a remote extraction API; they are clients, not a standalone local extraction service.
  • The schema’s field descriptions specify what values to find, and a list containing one object template represents repeated content.
  • Python offers synchronous and asyncio clients; the JavaScript package provides TypeScript declarations.
  • The successful API body is returned without unwrapping data or imposing a response model.
  • Deferred run IDs can be stored in an application’s own job record and used later with run-management methods.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Request structured data from a page with Python

Use Makra’s Python SDK to send a URL and a field schema to the web-extraction API.

Before you start

  • Python 3.9 or later
  • The makra package installed with pip
  • A Makra API key set as MAKRA_API_KEY
  • A URL and schema describing the values to retrieve

Steps

  1. Install the package with pip install makra.

  2. Set the MAKRA_API_KEY environment variable.

  3. Create a schema whose fields describe the information to find; use a list containing one object template for repeated records.

  4. Create a Makra client and call extract with the URL and schema.

Expected outcome

The SDK returns the successful API response body as structured JSON.

Guide limitations

  • The response is not unwrapped from data or converted to a separate response model.
  • This recipe covers the documented request workflow, not validation of results for a particular page.
Source-based practical guide

Submit and manage a deferred extraction run

Submit work that may outlive the current process and retrieve or manage it using its run ID.

Before you start

  • The Python SDK installed and configured with an API key
  • A URL and extraction schema
  • An application-side job record in which to store the deferred run ID

Steps

  1. Submit the extraction with submit_extract or submit_schema.

  2. Store the returned run ID with the application’s job record.

  3. Use the documented run-management methods, such as get_run, wait_for_run or stream_run_events, to follow the run.

  4. Retrieve the result with get_run_result, or use the RunHandle result and cancel methods when working through the handle.

Expected outcome

The application can track a deferred extraction and request its result or cancel it through the SDK.

Guide limitations

  • The SDK documentation describes run management but does not specify a schedule or guarantee completion time.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
15 October 2026
Original website title
makralabs/makra · Official homepage title · retained in its source language