Ironfang Render (Preview)

Ironfang Render turns web pages and HTML into screenshots and PDF documents. Capture a page as PNG, JPEG or WebP, print a URL or your own HTML to PDF, or queue a render job and collect the file when it is ready. No browser to run or maintain.

This connector is available in the following products and regions:

Service Class Regions
Copilot Studio Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Ironfang
URL https://ironfang.com/contact
Email hello@ironfang.com
Connector Metadata
Publisher Ironfang
Website https://ironfang.com/render
Privacy policy https://ironfang.com/legal/privacy
Categories Content and Files;Productivity

Ironfang Render

Ironfang Render turns web pages and HTML into screenshots and PDF documents. With this connector a flow can capture a page as an image, print a URL or its own HTML to PDF, or queue a render job and collect the file when it is ready, without running a browser.

Publisher: Ironfang

Prerequisites

You need an Ironfang account and an API key. Accounts are free to create at https://portal.ironfang.com, and every account includes a monthly free allowance of renders. Usage beyond the allowance is billed to your Ironfang account; current rates are at https://ironfang.com/pricing.

Supported Operations

Capture a screenshot

Renders a web page or a block of HTML and returns the image as PNG, JPEG or WebP. Choose the window size, capture the whole scrollable page or a single element, emulate a phone or tablet, use the dark colour scheme, and hide cookie banners or block ads.

Create a PDF

Prints a web page or a block of HTML to a PDF document of up to 100 pages and returns the file. Choose the paper size, orientation, margins, backgrounds, and header and footer templates.

Start a screenshot job

Queues a screenshot as a durable job and returns its ID at once. Use it when a flow should not wait for the render, or to keep the file available for later steps.

Start a PDF job

Queues a PDF as a durable job and returns its ID at once.

Get a render job

Returns a job with its status: queued, running, succeeded, failed or cancelled. A succeeded job includes the size and type of its file and a signed download link; a failed job includes the reason.

Download a job result

Returns the file a succeeded job produced.

Obtaining Credentials

The connector authenticates with an Ironfang API key.

  1. Sign in at https://portal.ironfang.com, or create a free account there.
  2. Open API keys and create a key. A key with only the render:render scope is enough for every action in this connector.
  3. Copy the key, which starts with if_live_. It is shown once.
  4. When you create a connection, paste the key into the API key field.

Getting Started

To save a PDF of your own HTML to SharePoint:

  1. Add the Create a PDF action and put your HTML in the HTML field. Set Paper size to a4.
  2. Add the SharePoint Create file action. Use a file name ending in .pdf, and use the PDF content output of Create a PDF as the file content.

To capture a page on a schedule:

  1. Start with a Recurrence trigger.
  2. Add Capture a screenshot with the page URL, and turn on Full page if you want the whole page.
  3. Add the OneDrive Create file action with a file name ending in .png and the Image content output as the file content.

For a long batch, use Start a screenshot job or Start a PDF job, then a Do until loop that runs a Delay of at least 5 seconds and Get a render job until the status is succeeded, failed or cancelled, and finish with Download a job result.

Full API documentation is at https://ironfang.com/render/docs.

Known Issues and Limitations

  • Send either a page URL or HTML in a request, not both.
  • Each render is limited to 30 seconds. A page that takes longer to become ready fails with a render error.
  • A PDF can have at most 100 pages, and an image at most 4096 pixels in width or height. A full page capture is at most 20000 pixels tall.
  • A job's file is kept for 24 hours after the job succeeds, and the signed download link in Get a render job works for 15 minutes. Download a job result can be called again within the 24 hours.
  • An account can run two renders at a time. A request beyond that is refused with status 429 and should be retried after a short wait; jobs wait in the queue instead.
  • An identical request within 10 minutes may return the earlier render. Turn on Skip the cache to force a new one.
  • Pages behind a sign-in cannot be captured through this connector yet.

Frequently Asked Questions

Is anything added to my files?

No. Files rendered through the API carry no Ironfang badge or watermark.

Where do I get help?

Contact Ironfang at https://ironfang.com/contact or hello@ironfang.com. Service status is at https://status.ironfang.com.

Deployment Instructions

Use the Power Platform CLI to deploy this connector as a custom connector:

pac connector create --api-definition-file apiDefinition.swagger.json --api-properties-file apiProperties.json --icon-file icon.png

Then create a connection with your Ironfang API key.

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
API key securestring Your Ironfang API key, which starts with if_live_. True

Actions

Capture a screenshot

Renders a web page or a block of HTML in a browser and returns the image. Send a page URL or HTML, not both.

Create a PDF

Prints a web page or a block of HTML to a PDF document of at most 100 pages and returns the file. Send a page URL or HTML, not both.

Download a job result

Returns the file a succeeded job produced. Results are kept for 24 hours after the job succeeds.

Get a render job

Returns a render job with its status. A succeeded job carries details of its result, and a failed job carries the error.

Start a PDF job

Queues a PDF as a durable job and returns at once. Check the job with Get a render job, then use Download a job result. The finished file is kept for 24 hours.

Start a screenshot job

Queues a screenshot as a durable job and returns at once. Check the job with Get a render job, then use Download a job result. The finished file is kept for 24 hours.

Capture a screenshot

Renders a web page or a block of HTML in a browser and returns the image. Send a page URL or HTML, not both.

Parameters

Name Key Required Type Description
Page URL
url string

The address of the page to capture. Leave empty when you send HTML.

HTML
html string

The HTML markup to render. Leave empty when you send a page URL.

Image format
format string

The image file format. PNG is lossless, and WebP is usually the smallest file.

Full page
full_page boolean

Whether to capture the whole scrollable page instead of only the visible area.

Width
width integer

The browser window width in pixels, up to 4096.

Height
height integer

The browser window height in pixels, up to 4096. It is ignored for a full page capture.

Device
device string

Capture the page as a phone or tablet would show it, with a matching screen size and user agent.

Dark mode
dark_mode boolean

Whether to render the page with its dark colour scheme.

Quality
quality integer

The image quality from 1 to 100 for JPEG and WebP. It is ignored for PNG.

Element selector
selector string

The CSS selector of one element to capture instead of the whole window.

Delay (milliseconds)
delay_ms integer

How long to wait after the page loads before capturing, up to 10000 milliseconds.

Wait until
wait_until string

When the page counts as ready. Network idle waits for network traffic to stop.

Hide cookie banners
block_cookie_banners boolean

Whether to hide common cookie consent banners. They are hidden, never accepted.

Block ads
block_ads boolean

Whether to block requests to known advertising and tracking networks.

Skip the cache
no_cache boolean

Whether to force a fresh render instead of reusing an identical one from the last 10 minutes.

Returns

The screenshot file content.

Image content
binary

Create a PDF

Prints a web page or a block of HTML to a PDF document of at most 100 pages and returns the file. Send a page URL or HTML, not both.

Parameters

Name Key Required Type Description
Page URL
url string

The address of the page to print. Leave empty when you send HTML.

HTML
html string

The HTML markup to print. Leave empty when you send a page URL.

Paper size
paper_format string

The named paper size. When it is empty, Letter is used.

Landscape
landscape boolean

Whether to print in landscape orientation.

Print backgrounds
print_background boolean

Whether to include background colours and images, as a browser print dialog can.

Top margin (inches)
top float

The top margin in inches.

Right margin (inches)
right float

The right margin in inches.

Bottom margin (inches)
bottom float

The bottom margin in inches.

Left margin (inches)
left float

The left margin in inches.

Header HTML
header_html string

The HTML template printed at the top of every page.

Footer HTML
footer_html string

The HTML template printed at the bottom of every page.

Scale
scale float

The print scale, where 1 is actual size.

Wait until
wait_until string

When the page counts as ready. Network idle waits for network traffic to stop.

Hide cookie banners
block_cookie_banners boolean

Whether to hide common cookie consent banners. They are hidden, never accepted.

Block ads
block_ads boolean

Whether to block requests to known advertising and tracking networks.

Returns

The PDF file content.

PDF content
binary

Download a job result

Returns the file a succeeded job produced. Results are kept for 24 hours after the job succeeds.

Parameters

Name Key Required Type Description
Job ID
id True string

The ID of the render job, as returned when it was started.

Returns

The file the job produced.

File content
binary

Get a render job

Returns a render job with its status. A succeeded job carries details of its result, and a failed job carries the error.

Parameters

Name Key Required Type Description
Job ID
id True string

The ID of the render job, as returned when it was started.

Returns

Body
Job

Start a PDF job

Queues a PDF as a durable job and returns at once. Check the job with Get a render job, then use Download a job result. The finished file is kept for 24 hours.

Parameters

Name Key Required Type Description
Idempotency key
Idempotency-Key string

A unique value for this request, such as the flow run ID. Sending the same key again never creates a second render.

Page URL
url string

The address of the page to print. Leave empty when you send HTML.

HTML
html string

The HTML markup to print. Leave empty when you send a page URL.

Paper size
paper_format string

The named paper size. When it is empty, Letter is used.

Landscape
landscape boolean

Whether to print in landscape orientation.

Print backgrounds
print_background boolean

Whether to include background colours and images, as a browser print dialog can.

Top margin (inches)
top float

The top margin in inches.

Right margin (inches)
right float

The right margin in inches.

Bottom margin (inches)
bottom float

The bottom margin in inches.

Left margin (inches)
left float

The left margin in inches.

Header HTML
header_html string

The HTML template printed at the top of every page.

Footer HTML
footer_html string

The HTML template printed at the bottom of every page.

Scale
scale float

The print scale, where 1 is actual size.

Wait until
wait_until string

When the page counts as ready. Network idle waits for network traffic to stop.

Hide cookie banners
block_cookie_banners boolean

Whether to hide common cookie consent banners. They are hidden, never accepted.

Block ads
block_ads boolean

Whether to block requests to known advertising and tracking networks.

Your reference
external_id string

Your own reference for the job, up to 120 characters.

Returns

Body
Job

Start a screenshot job

Queues a screenshot as a durable job and returns at once. Check the job with Get a render job, then use Download a job result. The finished file is kept for 24 hours.

Parameters

Name Key Required Type Description
Idempotency key
Idempotency-Key string

A unique value for this request, such as the flow run ID. Sending the same key again never creates a second render.

Page URL
url string

The address of the page to capture. Leave empty when you send HTML.

HTML
html string

The HTML markup to render. Leave empty when you send a page URL.

Image format
format string

The image file format. PNG is lossless, and WebP is usually the smallest file.

Full page
full_page boolean

Whether to capture the whole scrollable page instead of only the visible area.

Width
width integer

The browser window width in pixels, up to 4096.

Height
height integer

The browser window height in pixels, up to 4096. It is ignored for a full page capture.

Device
device string

Capture the page as a phone or tablet would show it, with a matching screen size and user agent.

Dark mode
dark_mode boolean

Whether to render the page with its dark colour scheme.

Quality
quality integer

The image quality from 1 to 100 for JPEG and WebP. It is ignored for PNG.

Element selector
selector string

The CSS selector of one element to capture instead of the whole window.

Delay (milliseconds)
delay_ms integer

How long to wait after the page loads before capturing, up to 10000 milliseconds.

Wait until
wait_until string

When the page counts as ready. Network idle waits for network traffic to stop.

Hide cookie banners
block_cookie_banners boolean

Whether to hide common cookie consent banners. They are hidden, never accepted.

Block ads
block_ads boolean

Whether to block requests to known advertising and tracking networks.

Skip the cache
no_cache boolean

Whether to force a fresh render instead of reusing an identical one from the last 10 minutes.

Your reference
external_id string

Your own reference for the job, up to 120 characters.

Returns

Body
Job

Definitions

Job

Name Path Type Description
Job ID
id string

The ID of the job.

Kind
kind string

The kind of render, such as screenshot or pdf.

Status
status string

The job status. A job is finished when it is succeeded, failed or cancelled.

Your reference
external_id string

The reference given when the job was started.

Attempts
attempts integer

How many times the job has been run.

Created at
created_at date-time

When the job was accepted.

Started at
started_at date-time

When the job last started running.

Completed at
completed_at date-time

When the job finished.

Error code
error.code string

A stable code for the failure.

Error message
error.message string

A readable description of the failure.

Content type
result.content_type string

The media type of the result file.

Size (bytes)
result.bytes integer

The size of the result file in bytes.

SHA256 hash
result.sha256 string

The SHA-256 hash of the result file.

Available
result.available boolean

Whether the result file can still be downloaded.

Result expires at
result.expires_at date-time

When the hosted result file is deleted.

Download link
result.url string

A signed link to the result file that needs no API key.

Download link expires at
result.url_expires_at date-time

When the signed download link stops working.

binary

This is the basic data type 'binary'.