Manycrawl

Help centre › Export & connect

HTTP request: call any API for each row

The HTTP request column calls a web API once per row. Use it to read data back into columns, or to push each row out to a CRM or another system. Describe the request once and it is repeated for every row. It works in the desktop app.

Add the column

  1. Click Enrichment and choose HTTP request, under Integrations.
  2. If you have a curl command from the API’s docs, paste it under Paste a cURL command (optional) and click Import. Manycrawl fills in the form and moves any API key into a saved connection.
  3. Choose What this column does: Enrich — read data back into columns, or Send — push each row out (writeback).
  4. Set the Method (GET, POST, PUT, PATCH or DELETE), the Endpoint URL, and any Headers (JSON), Query parameters (JSON) and Body (none, JSON, form or raw).
  5. Use placeholders to bring in each row’s values, and map each one under Inputs from this table.

Placeholders

WriteMeaning
{{input:email}}A value from the row. If it is empty, that row is skipped.
{{input?:name}}Optional. An empty value becomes an empty string.
{{const:listId}}A setting you give once for the whole column.
{{secret:api_key}}A key from your saved connection. You never type the key itself into the request.

Values are put in as they are, so a row value that contains a quote mark can break a JSON body. Check the first row with Try it below.

Read data back (Enrich)

Under Fields to read from the response, write one per line as name — path.in.the.json. A path uses dots, [0] for the first item of a list, and [*] to join every match. Each line becomes a column. If a field is not in the response the cell says No match. If the response is not JSON you see “The response was not JSON, so no fields could be read from it.”

Connections and keys

A connection holds one API key and the one web address (the API host) it is allowed to be sent to. Add one with New… next to Connection (holds the API key), or under Integrations in the sidebar. Give it a Name, the API host, a Secret name (api_key by default) and the API key.

  • The key goes wherever you put {{secret:name}}: a header, the address, or the body.
  • A connection refuses to send its key to any other host, or over plain http.
  • The key is kept by Manycrawl and not in the column or the table. See Which API keys do I need?

Try it first

Click Try it on the first row. It sends the real request for your first row and shows what was sent and what came back. For a Send column this really posts to the other system; “nothing was saved” refers only to your Manycrawl table. Every call is listed under Integrations → Sent, which stays on your computer.

Send safely

For a column that pushes rows out, open Sending safely:

  • Identify each row by a value such as {{input:email}}. A row already sent is skipped, even if the same row is imported again. If all rows were already sent you see “Nothing to send — all N row(s) have already been sent by this column.”
  • Hold each row for approval before sending prepares every request and waits. Cells read “⏸ Awaiting approval”. The Approve (N) button in the toolbar opens a list where you can Select all, Approve & send selected or Reject selected. A rejected row reads “Rejected — not sent” and is not picked up again.
Be careful with auto-run. If you turn on Auto-run on new rows for a Send column, every new row is posted without anyone looking. Add a run condition and consider approval. See Automations.

How it behaves

  • Rows at once (1–10): 3 by default. Calls are also paced at about 5 per second to each host.
  • Treat as success when: status<400 by default. Other examples are status==200 and status>=200 && status<300.
  • A request times out after 20 seconds and is retried up to 3 times for timeouts, 429 and server errors, honouring a Retry-After header. Responses are read up to 256 KB.
  • If the API answers with another 4xx error, the setup is wrong, so the run stops with “HTTP request stopped: …” and the rest of the rows say “Run stopped”.
  • Addresses on your own network or loopback are refused for safety.