Bind pages to /your API

Request and Repeat blocks turn JSON from your endpoints into lists, detail pages and route-driven content, resolved on the server before HTML is sent.

Dynamic data01

A Repeat block renders one designed row per item returned by the request.

How it works04

  1. 01

    Add a source

    Point a Request or Repeat block at a JSON endpoint and choose the method.

  2. 02

    Pick the list

    Send the request once, then choose the array to repeat, such as $.items.

  3. 03

    Bind fields

    Connect text, images, links and visibility to fields of the current row.

  4. 04

    Publish

    Published requests resolve on the server, so content is in the returned HTML.

What you can do06

  • Routes

    Route and query tokens

    Use {{params.slug}} and {{query.q}} in URLs, headers and bodies for dynamic pages.

  • Format

    Dates, numbers, currency

    Formats store their locale and time zone, so every visitor reads the same text.

  • Pipes

    Safe expressions

    Pipes and JavaScript-shaped expressions are interpreted, never executed.

  • Methods

    GET to DELETE

    GET, POST, PUT, PATCH and DELETE with query pairs, headers and bodies.

  • 404

    Missing records

    An upstream 404 can turn the whole route into a 404 response.

  • SEO

    Indexable output

    Server-resolved content is present in the HTML that search engines read.

Built-in limits04

  • 200rows per source
  • 8 srequest timeout
  • 3redirects followed
  • 2 MBdefault response limit

Private hosts are refused unless an operator allows them on the server.

Data

Questions

Next featureInteractions, /without scripts

Try it in your own app

Install the package and open the studio on a protected route.

bun add pagiera