# Social Contact Resolver (`novashieldai/social-contact-resolver`) Actor

Resolve a domain to social media profiles and contact information. Extracts social links, emails, phones, JSON-LD data, DNS verification tokens, and meta tags from any website.

- **URL**: https://apify.com/novashieldai/social-contact-resolver.md
- **Developed by:** [Ali haydar Karadaş](https://apify.com/novashieldai) (community)
- **Categories:** Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Social Contact Resolver

Social Contact Resolver extracts social media profiles, email addresses, phone numbers, and company metadata from any domain. Point it at a website and get back a structured breakdown of every contact channel and social link the company uses -- no manual digging required.

### What does Social Contact Resolver do?

You give it a domain like "stripe.com" and it crawls the site to find all linked social profiles (Twitter, LinkedIn, Facebook, Instagram, YouTube, and more), contact information (emails, phone numbers, physical addresses), and technical metadata like detected technologies and DNS verification tokens.

There are three modes. **Resolve** does a deep scan of a single domain, checking multiple pages for social links and contact info. **Quick Resolve** only checks the homepage, which is faster but may miss links buried in footer pages or contact sections. **Bulk Resolve** processes a list of domains at once.

The scraper also performs DNS lookups to find verification tokens (like Google Site Verification or Facebook domain verification), which gives you a confirmed link between the domain and the social account.

### What data do you get?

- **domain** -- the domain that was scanned
- **company_name** -- extracted company or organization name
- **description** -- company description from meta tags
- **social_profiles** -- list of found social links, each with platform name, URL, username, and DNS verification status
- **contact_info.emails** -- email addresses found on the site
- **contact_info.phones** -- phone numbers found on the site
- **contact_info.addresses** -- physical addresses found on the site
- **dns_verifications** -- DNS TXT records that verify social accounts
- **technologies_detected** -- tech stack detected via headers and meta tags
- **meta_tags** -- relevant meta tags (og:title, description, etc.)

### Who is this for?

- **Sales and outreach teams** -- find the right contact channels for any company in seconds
- **Lead generation platforms** -- enrich domain lists with social profiles and emails
- **Competitive intelligence analysts** -- map competitor presence across social networks
- **Brand monitoring services** -- verify which social accounts belong to a given domain
- **Developers** -- build company profile enrichment into your own SaaS or CRM

### How to use it

1. Open the actor in Apify Console and choose your mode (resolve, quick_resolve, or bulk_resolve).
2. Enter a domain (e.g., "stripe.com") or a list of domains.
3. Click "Start" to run the scan.
4. View results in the Dataset tab and export as JSON, CSV, or Excel.
5. Use the Apify API to integrate this into automated enrichment workflows.

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| mode | string | resolve | resolve = full scan, bulk_resolve = multiple domains, quick_resolve = homepage only |
| domain | string | -- | Domain to resolve (e.g., "stripe.com"). Used with resolve and quick_resolve modes. |
| domains | array | -- | List of domains for bulk_resolve mode |

### Sample output

```json
{
  "domain": "stripe.com",
  "company_name": "Stripe",
  "description": "Online payment processing for internet businesses.",
  "social_profiles": [
    {
      "platform": "twitter",
      "url": "https://twitter.com/stripe",
      "username": "stripe",
      "is_verified": true
    },
    {
      "platform": "linkedin",
      "url": "https://www.linkedin.com/company/stripe",
      "username": "stripe",
      "is_verified": false
    }
  ],
  "contact_info": {
    "emails": ["support@stripe.com"],
    "phones": ["+1-888-926-2289"],
    "addresses": ["354 Oyster Point Blvd, South San Francisco, CA 94080"]
  },
  "dns_verifications": ["google-site-verification=abc123"],
  "technologies_detected": ["Cloudflare", "React", "Next.js"],
  "meta_tags": {
    "og:title": "Stripe | Payment Processing Platform",
    "og:description": "Online payment processing for internet businesses."
  }
}
````

### How much does it cost?

Each result costs **$0.008**. One domain resolution counts as one result.

Apify gives every new user $5 in free monthly credits, so you can resolve about 625 domains without paying anything.

### Common questions

**Does it find personal email addresses or just generic ones?**
It extracts whatever emails are publicly visible on the website. That typically means info@, support@, and contact@ addresses, but if personal emails are listed on the site, those will be captured too.

**How does DNS verification work?**
The scraper checks the domain's DNS TXT records for verification tokens from platforms like Google, Facebook, and others. If a match is found, the corresponding social profile is marked as verified, giving you higher confidence it's the official account.

**Can I use this for bulk enrichment of thousands of domains?**
Yes. Use bulk\_resolve mode and pass your domain list. For very large lists, schedule multiple runs or use the Apify API to manage the queue.

### Contact & Custom Solutions

Need a custom scraper, higher volume, or a specific integration? We're here to help.

If anything isn't working right or you need support, don't hesitate to reach out.

- Telegram: [t.me/novashield\_dev](https://t.me/novashield_dev)
- Email: novashield.dev@gmail.com

# Actor input Schema

## `mode` (type: `string`):

Operation mode: 'resolve' (full), 'bulk\_resolve' (multiple domains), or 'quick\_resolve' (homepage only).

## `domain` (type: `string`):

Domain to resolve (e.g., 'stripe.com'). Used with 'resolve' and 'quick\_resolve' modes.

## `domains` (type: `array`):

List of domains for 'bulk\_resolve' mode.

## Actor input object example

```json
{
  "mode": "resolve",
  "domain": "stripe.com",
  "domains": [
    "stripe.com",
    "github.com"
  ]
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "domain": "stripe.com",
    "domains": [
        "stripe.com",
        "github.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("novashieldai/social-contact-resolver").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "domain": "stripe.com",
    "domains": [
        "stripe.com",
        "github.com",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("novashieldai/social-contact-resolver").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "domain": "stripe.com",
  "domains": [
    "stripe.com",
    "github.com"
  ]
}' |
apify call novashieldai/social-contact-resolver --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=novashieldai/social-contact-resolver",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Social Contact Resolver",
        "description": "Resolve a domain to social media profiles and contact information. Extracts social links, emails, phones, JSON-LD data, DNS verification tokens, and meta tags from any website.",
        "version": "1.0",
        "x-build-id": "QQteM1G0EBhDCsVsF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/novashieldai~social-contact-resolver/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-novashieldai-social-contact-resolver",
                "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/novashieldai~social-contact-resolver/runs": {
            "post": {
                "operationId": "runs-sync-novashieldai-social-contact-resolver",
                "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/novashieldai~social-contact-resolver/run-sync": {
            "post": {
                "operationId": "run-sync-novashieldai-social-contact-resolver",
                "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",
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "resolve",
                            "bulk_resolve",
                            "quick_resolve"
                        ],
                        "type": "string",
                        "description": "Operation mode: 'resolve' (full), 'bulk_resolve' (multiple domains), or 'quick_resolve' (homepage only).",
                        "default": "resolve"
                    },
                    "domain": {
                        "title": "Domain",
                        "type": "string",
                        "description": "Domain to resolve (e.g., 'stripe.com'). Used with 'resolve' and 'quick_resolve' modes."
                    },
                    "domains": {
                        "title": "Domains",
                        "type": "array",
                        "description": "List of domains for 'bulk_resolve' mode.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
