{
  "openapi": "3.0.1",
  "info": {
    "title": "Backlink Opportunity Finder",
    "description": "Find relevant public pages for resource links, guest posts, list mentions, directories, podcasts, and expert roundups. Returns structured, scored prospect URLs from live Google organic results. It discovers prospects; it does not guarantee a backlink or automate outreach.",
    "version": "1.0",
    "x-build-id": "gvCDLzkR4vx3a7QgY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~backlink-opportunity-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-backlink-opportunity-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/khadinakbar~backlink-opportunity-finder/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-backlink-opportunity-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/khadinakbar~backlink-opportunity-finder/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-backlink-opportunity-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "Keywords or topics",
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "description": "Use this when you need relevant link prospects for one or more topics. Add up to 10 phrases, for example \"project management software\" or \"remote team collaboration\". The actor combines each phrase with the selected prospect footprints.",
            "items": {
              "type": "string"
            }
          },
          "targetDomain": {
            "title": "Your domain to exclude",
            "type": "string",
            "description": "Use this when you want to avoid returning pages from your own website. Enter a hostname or URL such as example.com. Leave blank if you do not have a domain to exclude."
          },
          "opportunityTypes": {
            "title": "Prospect types",
            "type": "array",
            "description": "Use this when you want specific public-page footprints. Choose resource pages, guest-post guidelines, listicles, directories, podcasts, or expert roundups. If empty, the actor searches resource pages, guest posts, and listicles.",
            "items": {
              "type": "string",
              "enum": [
                "resource_page",
                "guest_post",
                "listicle",
                "directory",
                "podcast",
                "expert_roundup"
              ]
            }
          },
          "excludeDomains": {
            "title": "Domains to exclude",
            "type": "array",
            "description": "Use this when known competitors, marketplaces, or irrelevant publishers should be excluded. Enter hostnames such as competitor.com; subdomains are also excluded. Filtering happens before dataset events are charged.",
            "items": {
              "type": "string"
            }
          },
          "countryCode": {
            "title": "Search country",
            "type": "string",
            "description": "Use this when you need Google results localized to a two-letter country code. Enter values such as US, GB, or AU. The default is US; it affects result localization, not a publisher's verified location.",
            "default": "US"
          },
          "languageCode": {
            "title": "Search language",
            "type": "string",
            "description": "Use this when you need results in a specific language. Enter a language code such as en, de, or es. The default is en; it does not translate page text.",
            "default": "en"
          },
          "maxResultsPerKeyword": {
            "title": "Maximum prospects per keyword",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Use this when you need a strict per-keyword cap on saved, billable prospects. Enter 1 to 100; the default is 25. Duplicate, excluded, and low-relevance results do not count toward this cap.",
            "default": 25
          },
          "maxPagesPerQuery": {
            "title": "Maximum Google pages per footprint",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Use this advanced limit to control SERP coverage and provider requests. Enter 1 to 5; the default is 1. This is a query-page cap, not a guaranteed number of returned prospects.",
            "default": 1
          },
          "minimumRelevanceScore": {
            "title": "Minimum relevance score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Use this when you want to discard weaker text matches before they are saved or charged. Enter 0 to 100; the default is 35. The score is a transparent heuristic based on keyword overlap, footprint cues, and result position, not a domain-authority metric.",
            "default": 35
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}