stephane.bio
  • Invest
  • Build
  • Write
  • Think
Ketchup

Build reliable automations to extract web data

Created
Jun 25, 2024 7:41 PM
AI keywords
AI summary

Intuned is a browser automation platform that allows developers and product teams to build, deploy, consume, and monitor reliable web scrapers and browser automations. With Intuned, you can automate data extraction across various industries, put your data extraction on autopilot, and benefit from their optimized extractors. Intuned offers an easy-to-use IDE, deployment flexibility, simple API consumption, and proactive monitoring. Get started with Intuned to level up your web scraping and browser automation.

Text

Intuned

URL
https://intunedhq.com/

The browser automation platform for developers and product teams

Develop, deploy, consume, and monitor reliable web scrappers and browser automations. Reliability powered by AI

Get started

Read docs

image

Develop

Deploy

Consume

Monitor

USE CASES

Build automations across every industry

Government services

Extract data and complete actions on government websites at scale

image

Sales automation

Automate actions on behalf of your users on their social media accounts

image

Insurance

Collect data to anticipate market trends and optimize investments and conduct pricing comparisons

OUR ADVANTAGE

Put your data extraction on autopilot with Intuned

Before Intuned, writing a scraper requires building selectors manually and then updating them whenever the target website changes.

Before Intuned

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

Expand all 58 lines

With Intuned optimized extractors, just describe the data you need. Creating selectors, updating them is automated by us.

That’s it!

With Intuned

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

That's all

Why intuned

The only browser automation infra you need

01

Develop with ease

Intuned IDE comes with built-in support for user auth and AI functions to extract data and dismiss pop-ups

02

Deploy anywhere & scale on demand

Configure integrations to execute in a region of your choice and trust Intuned to scale as you need

03

Consume with a simple API

Orchestrate your automations with easy to use APIs.

04

Monitor without losing sleep

Get proactive alerts on changes to target sites with access to recordings and traces from previous runs

Get started

Level up your web scraping and browser automation.

Book a demo

stephane.bio

Made with Notion, Published on Super - 2026 © Stephane Boghossian

LinkedInInstagramMediumGitHubXBehanceDiscordPinterest
function transformString(input) {
  return input.replace(/ - Amendment #\d+/, '');
}

function transformEffectiveDate(input) {
  return input.replace('Effective Date: ', '');
}

function transformSupplierNumber(input) {
  return input.replace('Supplier Number: ', '');
}

const browser = await chromium.launch({headless: false});
// Create pages, interact with UI elements, assert values

const page = await browser.newPage();
await page.goto("https://demo-site-eta.vercel.app/lists/card");
await page.waitForTimeout(10000);

const listContainerLocator = page.locator(
  "#radix-\:r3\:-content-card > div");
const listItems = await listContainerLocator.locator("div").all();

const contractsList = [];

for (let i = 0; i < listItems.length; i++) {
  const itemLocator = listItems[i];
  const title = await itemLocator.locator("h2").textContent();
  const suppliers = await itemLocator.locator(
    "div:nth-child(1) > div:nth-child(2) > p:nth-child(1)"
  ).textContent();

  const effectiveDate = await itemLocator.locator(
    "div:nth-child(1) > div:nth-child(2) > p:nth-child(2)"
  ).textContent();

  const supplierNumber = await itemLocator.locator(
    "div:nth-child(1) > div:nth-child(2) > p:nth-child(3)"
  ).textContent();

  const status = await itemLocator.locator(
    "div:nth-child(1) > div:nth-child(2) > div"
  ).textContent();

  const link = await itemLocator.locator("a").getAttribute("href");

  contractsList.push({
    title: transformString(title),
    suppliers,
    effectiveDate: transformEffectiveDate(effectiveDate),
    supplierNumber: transformSupplierNumber(supplierNumber),
    status,
    link
  });

}

return contractsList;
await page.goto("https://demo-site-eta.vercel.app/lists/card");

const contractsList = await page.extractArrayOptimized({
  itemEntityName: "contract_info",
  label: "contract_info",
  itemEntitySchema: {
    type: "object",
    properties: {
      title: {
        type: "string", primary: true,
        description:
          "contract title, title should not include Amendment number",
      },
      supplier: {
        type: "string",
        description: "supplier of the contract",
      },
      state: {
        type: "string",
        description: "state of the contract",
      },
      effectiveDate: {
        type: "string",
        description: "effective date",
      },
    },
    required: ["title", "supplier", "state"],
  },
});

return contractsList;