What do you want to automate

with Google Cloud Document AI and Ahrefs?

Prompt, edit and deploy AI agents that connect to Google Cloud Document AI, Ahrefs 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
Get Backlinks with the Ahrefs API

Get the backlinks for a domain or URL with details for the referring pages (e.g., anchor and page title).

 
Try it
Get Backlinks One Per Domain with the Ahrefs API

Get one backlink with the highest ahrefs_rank per referring domain for a target URL or domain (with details for the referring pages including anchor and page title).

 
Try it
Get Referring Domains with the Ahrefs API

Get the referring domains that contain backlinks to the target URL or domain.

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

Connect Google Cloud Document AI

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
85
86
87
88
89
90
91
92
93
94
95
import { DocumentProcessorServiceClient } from '@google-cloud/documentai/build/src/v1/index.js';
import { promises as fs } from 'fs';
import { get } from 'https';
import { writeFile } from 'fs/promises';
import { join } from 'path';

export default defineComponent({
  props: {
    google_cloud_document_ai: {
      type: "app",
      app: "google_cloud_document_ai",
    }
  },
  async run({ steps, $ }) {
    //Sample pdf file to process by Google Document AI API
    const url = 'https://www.learningcontainer.com/wp-content/uploads/2019/09/sample-pdf-file.pdf';
    const filePath = join('/tmp', 'my_document.pdf');

    const downloadFile = async () => {
      const res = await new Promise((resolve) => get(url, resolve));
      const chunks = [];

      for await (const chunk of res) {
        chunks.push(chunk);
      }

      await writeFile(filePath, Buffer.concat(chunks));
      console.log(`File downloaded successfully to ${filePath}`);
    };

    await downloadFile();

    const projectId = this.google_cloud_document_ai.$auth.project_id;
    const location = this.google_cloud_document_ai.$auth.location;
    const processorId = this.google_cloud_document_ai.$auth.processor_id;

    // Instantiates a client
    // apiEndpoint regions available: eu-documentai.googleapis.com, us-documentai.googleapis.com (Required if using eu based processor)
    // const client = new DocumentProcessorServiceClient({apiEndpoint: 'eu-documentai.googleapis.com'});
    const client = new DocumentProcessorServiceClient();

    async function testRequest() {
      // The full resource name of the processor, e.g.:
      // projects/project-id/locations/location/processor/processor-id
      // You must create new processors in the Cloud Console first
      const name = `projects/${projectId}/locations/${location}/processors/${processorId}`;

      // Read the file into memory.		
      const imageFile = await fs.readFile(filePath);

      // Convert the image data to a Buffer and base64 encode it.
      const encodedImage = Buffer.from(imageFile).toString('base64');

      const request = {
        name,
        rawDocument: {
          content: encodedImage,
          mimeType: 'application/pdf',
        },
      };

      // Recognizes text entities in the PDF document
      const [result] = await client.processDocument(request);
      const { document } = result;

      // Get all of the document text as one big string
      const { text } = document;

      // Extract shards from the text field
      const getText = textAnchor => {
        if (!textAnchor.textSegments || textAnchor.textSegments.length === 0) {
          return '';
        }

        // First shard in document doesn't have startIndex property
        const startIndex = textAnchor.textSegments[0].startIndex || 0;
        const endIndex = textAnchor.textSegments[0].endIndex;

        return text.substring(startIndex, endIndex);
      };

      // Read the text recognition output from the processor
      const [page1] = document.pages;
      const { paragraphs } = page1;
      let concatenatedText = "";
      for (const paragraph of paragraphs) {
        const paragraphText = getText(paragraph.layout.textAnchor);
        concatenatedText += paragraphText;
      }
      return concatenatedText;
    }

    return await testRequest();
  }
})

Overview of Ahrefs

Ahrefs API taps into the vast data reserves of Ahrefs, a robust SEO tool, to programmatically access insights into backlink profiles, keyword rankings, and SEO health. With Pipedream's capabilities, you can automate SEO monitoring, integrate with content management systems, trigger alerts for new or lost backlinks, or gather intelligence for keyword research—all without manual intervention. This unlocks the potential for real-time SEO strategy adjustments and the integration of SEO data into broader business processes or analytics platforms.

Connect Ahrefs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    ahrefs: {
      type: "app",
      app: "ahrefs",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://apiv2.ahrefs.com`,
      params: {
        output: `json`,
        token: `${this.ahrefs.$auth.oauth_access_token}`,
        from: `subscription_info`,
      },
    })
  },
})

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