# Where Makra fits

Makra fits recurring extraction from public, rendered pages that share recognizable structures. It is strongest when the set of pages is large enough that learning once and reusing the result matters.

## Good fits

Product catalogs are a natural fit. Product detail pages share a template while values differ. Listing pages add repeated arrays that Makra can align into rows.

Job boards, property listings, article archives, public directories, review pages, search results, and specification tables have the same useful property. Many instances expose the same kinds of fields through a smaller number of layouts.

Makra also fits applications whose target schema changes. One consumer may need title and price. Another may need seller, rating, and shipping terms. The engine learns the page's information structure rather than treating the first request as the full definition of the page.

## Poor fits

Makra is a poor fit when the data requires login state, multi-step forms, custom clicks, or session-specific interaction that the public workflow cannot express.

It is also a poor fit for pages where almost every URL has unrelated markup. Memoization has little to reuse in that case. A cold extraction may still work, but the economic advantage shrinks.

Do not use Makra as a source of facts that are absent from the page. It extracts document values. It is not a search engine, a fact-completion model, or a replacement for an authoritative database.

Do not assume declared JSON Schema scalar types cause parsing. Makra preserves page strings. Your application owns currency parsing, date interpretation, unit conversion, and domain validation.

## Questions to ask before adopting it

1. Are the target pages public HTTPS pages on normal domain names?
2. Does the data appear after ordinary rendering or bounded pagination?
3. Do many URLs share a page structure?
4. Can the desired output be expressed as objects, arrays, and leaf fields?
5. Can the application tolerate a slower first run for a page class?
6. Will the application inspect warnings and partial outcomes instead of treating every HTTP success as complete data?
7. Can the application convert and validate document strings after extraction?

If the answer is yes to most of these, Makra is likely operating in its intended domain.

## A useful first evaluation

Choose several URLs from one page class, including an ordinary page, a sparse page, and a page with optional fields missing. Extract a schema with scalar fields and one repeated section. Compare the first run with later pages. Inspect warnings, null fields, row alignment, and whether a small layout variant triggers a usable repair.

This test reveals more than a single polished example. It exercises the exact conditions that make structural memoization valuable.

Next, [install the SDK and authenticate](/markdown/makra-sdk/v0.0.4-beta/getting-started/install-and-authenticate).
