What do you want to automate

with Oxylabs and Google Identity?

Prompt, edit and deploy AI agents that connect to Oxylabs, Google Identity and 2,500+ other apps in seconds.

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
New Scheduled Run Completed from the Oxylabs API

Emit new event when a new scheduled run is completed. See the documentation

 
Try it
Create Proxy Session with the Oxylabs API

Establish a proxy session using the Residential Proxy endpoint. See the documentation

 
Try it
Create Schedule with the Oxylabs API

Create a schedule for a scraping job. See the documentation

 
Try it
Scrape URL with the Oxylabs API

Scrape a URL. See the documentation

 
Try it
Scrape with Query with the Oxylabs API

Extract data using a search query. See the documentation

 
Try it
Integrate the Oxylabs API with the Google Identity API
Setup the Oxylabs API trigger to run a workflow which integrates with the Google Identity API. Pipedream's integration platform allows you to integrate Oxylabs and Google Identity remarkably fast. Free for developers.

Overview of Oxylabs

The Oxylabs API provides robust tools for web data extraction, enabling you to gather vast amounts of data efficiently from various sources across the web. With Pipedream's serverless platform, you can harness this power to create automated workflows that trigger on specific events, process the data, and connect to other services. Whether you're monitoring brand sentiment, tracking prices, or conducting market research, integrating Oxylabs with Pipedream can significantly streamline your data collection and analysis tasks.

Connect Oxylabs

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
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    oxylabs: {
      type: "app",
      app: "oxylabs",
    }
  },
  async run({steps, $}) {
    const data = {
      "geo_location": `United States`,
      "url": `https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html`,
      "source": `universal`,
    }
    return await axios($, {
      method: "post",
      url: `https://${this.oxylabs.$auth.api_name}.oxylabs.io/v1/queries`,
      headers: {
        "Content-Type": `application/json`,
      },
      auth: {
        username: `${this.oxylabs.$auth.username}`,
        password: `${this.oxylabs.$auth.password}`,
      },
      data,
    })
  },
})

Connect Google Identity

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import axios from "axios";
import * as jsrsasign from "jsrsasign";

export default defineComponent({
  props: {
    google_identity: {
      type: "app",
      app: "google_identity",
    }
  },
  async run({ steps, $ }) {    
    const serviceAccountKey = JSON.parse(this.google_identity.$auth.service_account_key);
    const GOOGLE_OAUTH = 'https://www.googleapis.com/oauth2/v4/token';
    // add/remove your own scopes as needed
    const SCOPES = [
      'https://www.googleapis.com/auth/userinfo.email',
      'https://www.googleapis.com/auth/userinfo.profile',
      'https://www.googleapis.com/auth/cloud-platform',
      'https://www.googleapis.com/auth/cloud-identity',
    ];

    const getJwt = async function ({ client_email, private_key }, iat) {

      const header = {
        typ: 'JWT',
        alg: 'RS256',
      };

      const exp = iat + 3600;
      const payload = {
        aud: GOOGLE_OAUTH,
        iss: client_email,
        scope: SCOPES.join(' '),
        iat,
        exp,
      };

      const jwt = jsrsasign.KJUR.jws.JWS.sign(null, header, payload, private_key);
      return { jwt, exp };
    };

    const getToken = async function (serviceAccountKey) {
      const now = Math.floor(Date.now() / 1000);

      const jwtInfo = await getJwt(serviceAccountKey, now);

      const params = new URLSearchParams();
      params.append('grant_type', 'urn:ietf:params:oauth:grant-type:jwt-bearer');
      params.append('assertion', jwtInfo.jwt);

      const response = await axios.post(GOOGLE_OAUTH, params, {
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        }
      });

      const accessToken = response.data.access_token;
      return accessToken;
    };

    const generateOAuthToken = async function () {    
      return await getToken(serviceAccountKey);
    };

    // Call the function to generate the token
    const accessToken = await generateOAuthToken();

    // Call the Google Identity API to search for groups
    const response = await axios({
      method: "GET",
      url: "https://cloudidentity.googleapis.com/v1/groups:search",
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "Content-Type": "application/json"
      },
      params: {
        query: "parent == 'customers/C046psxkn'"
      }
    })

    return response.data
  },
})

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo