# About.me Profile Scraper (`datascraperes/aboutme-profile-scraper`) Actor

Extract complete public About.me profiles: names, bios, roles, locations, education, interests, links, social destinations, public emails, images, SEO metadata, and video URLs. $1 per 1,000 successful profiles.

- **URL**: https://apify.com/datascraperes/aboutme-profile-scraper.md
- **Developed by:** [DataScraperES](https://apify.com/datascraperes) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.00 / 1,000 profiles

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## About.me Profile Scraper

[Open the Actor on Apify](https://apify.com/datascraperes/aboutme-profile-scraper)

Extract complete public About.me profiles into a structured dataset. Enter
About.me usernames or profile URLs and receive one profile record with the
person's identity, professional information, biography, education, interests,
images, featured links, social links, public emails, SEO metadata, and detected
video links.

The Actor returns the information that the profile owner has made public. Each
profile is represented by one dataset record, so links, social destinations,
emails, media, and profile details stay together and are easy to export.

### What this About.me scraper collects

- One or many public About.me profiles in a single run.
- Usernames, `@usernames`, or full `https://about.me/<username>` URLs.
- Display name, username, page title, headline, roles, location, and job title.
- Full public biography as readable text and separate paragraphs.
- Public profile image information and available image URLs.
- Education, interests, and other public profile sections when published.
- Featured or spotlight link, regular profile links, and social destinations.
- Unique public email addresses when the profile visibly publishes them.
- Search and sharing metadata such as title, description, canonical URL, Open
  Graph fields, Twitter card fields, and robots information.
- Public video URLs and embedded media references when present on the profile.
- A simple signal indicating whether an AI Twin widget is visible on the page.

### Pricing

The Actor costs **$1 per 1,000 profiles**, equivalent to **$0.001 per profile**.

You are charged once for each successfully obtained profile record. The number
of links, social links, emails, images, or videos inside that profile does not
create additional charges.

Profiles that are invalid, unavailable, blocked, or not found are not charged
as successful profile records.

Apify may show its normal platform resource costs separately according to your
account and selected run settings.

### Input

The only required input is `profiles`.

| Field | Required | Default | Description |
| --- | --- | --- | --- |
| `profiles` | Yes | `bfeld` | About.me usernames or full profile URLs. Up to 500 entries per run. |

Examples of accepted values:

```text
bfeld
@officialpage
https://about.me/bfeld
https://www.about.me/officialpage
```

Example input:

```json
{
  "profiles": [
    "bfeld",
    "https://about.me/officialpage",
    "@another-profile"
  ]
}
```

Duplicate usernames and URLs are removed automatically. The Actor does not
accept arbitrary website URLs; this prevents accidental collection of unrelated
websites.

### Output

The Dataset contains one JSON record per successfully obtained public profile.

#### Identity and professional information

| Field | Description |
| --- | --- |
| `profileUrl` | Normalized About.me profile URL requested by the Actor. |
| `finalUrl` | Final About.me URL returned after normal redirects. |
| `slug` | Username segment from the profile URL. |
| `username` | Username identified from the profile. |
| `displayName` | Public name shown on the profile. |
| `pageTitle` | Complete HTML page title. |
| `description` | Public meta or structured profile description. |
| `headline` | Visible headline combining the profile role and location. |
| `roles` | Individual visible professional roles. |
| `location` | Public location shown on the profile. |
| `jobTitle` | Structured job title or the visible role summary. |
| `address` | Public structured address or location value. |
| `externalProfileUrl` | External URL associated with the person when About.me publishes one. |

#### Biography, education, and interests

| Field | Description |
| --- | --- |
| `bio` | Complete readable public biography. |
| `bioParagraphs` | Biography split into its public paragraphs. |
| `metaSections` | Other public profile sections and their item values. |
| `education` | Public education entries when available. |
| `interests` | Public interests or `knowsAbout` values when available. |
| `sameAs` | Public identity URLs provided by the profile's structured data. |

#### Images and appearance

| Field | Description |
| --- | --- |
| `avatarUrl` | Public profile image URL when available. |
| `profileImage` | Structured image information such as URL, dimensions, source, and timestamp when published. |
| `backgroundImageUrl` | Public background image URL when the profile provides one. |
| `theme` | Public appearance signals such as profile size, colors, and background gradient. |
| `aiTwinEnabled` | Whether a visible AI Twin widget is detected on the profile page. |

#### Links and social destinations

`links` contains the complete external link collection found in the profile,
including spotlight links and social destinations. Each link can include:

- `title`: visible label or public link title;
- `url`: destination URL;
- `kind`: `spotlight`, `link`, or `social`;
- `platform`: normalized social platform name for social links;
- `position`: order in which the link appeared;
- `rel` and `target`: public HTML link attributes when available.

`socialLinks` is the filtered collection of links identified as social
destinations. `spotlight` contains the principal featured link when the profile
publishes one.

#### Emails and media

`emails` contains unique public email addresses found in visible profile
content, public structured data, or public `mailto:` links. It is empty when the
profile does not publish an email address.

`media` contains public image, video, source, or iframe references found inside
the profile. `videoLinks` is a convenient filtered view of public video URLs
found in the profile's links or media, and `videoCount` contains the number of
unique video URLs returned.

The Actor returns public video URLs and references; it does not download or
host video files.

#### SEO and run fields

| Field | Description |
| --- | --- |
| `seo` | Public title, description, canonical, Open Graph, Twitter, and robots metadata. |
| `linksCount` | Number of unique profile links. |
| `socialLinksCount` | Number of social links. |
| `emailsCount` | Number of unique public emails. |
| `videoCount` | Number of unique public video links. |
| `ok` | Whether a complete public profile record was obtained. |
| `status` | Result status, normally `ok`. |
| `warnings` | Non-fatal profile observations, if any. |
| `capturedAt` | UTC timestamp for the collected record. |

### Example output

```json
{
  "recordType": "profile",
  "ok": true,
  "status": "ok",
  "profileUrl": "https://about.me/example",
  "finalUrl": "https://about.me/example",
  "slug": "example",
  "username": "example",
  "displayName": "Example Person",
  "headline": "Founder in Madrid, Spain",
  "roles": ["Founder"],
  "location": "Madrid, Spain",
  "jobTitle": "Founder",
  "bio": "Public biography published by the profile owner.",
  "bioParagraphs": ["Public biography published by the profile owner."],
  "avatarUrl": "https://assets.about.me/...",
  "externalProfileUrl": "https://example.com",
  "spotlight": {
    "title": "My website",
    "url": "https://example.com",
    "kind": "spotlight"
  },
  "links": [],
  "socialLinks": [],
  "emails": [],
  "emailsCount": 0,
  "education": [],
  "interests": [],
  "sameAs": [],
  "theme": {},
  "seo": {},
  "media": [],
  "linksCount": 0,
  "socialLinksCount": 0,
  "videoCount": 0,
  "videoLinks": [],
  "aiTwinEnabled": false,
  "warnings": [],
  "capturedAt": "2026-08-18T12:00:00+00:00"
}
```

Fields that the profile does not publish are returned as `null`, `{}`, or `[]`
depending on the field type.

### Result statuses

Successful profiles use `status: "ok"`. Other statuses explain why a profile
was not emitted as a successful paid result:

- `invalid_input`: the value is not a valid About.me username or profile URL;
- `not_found`: About.me returned HTTP 404;
- `forbidden`: About.me did not allow the request;
- `rate_limited`: the request was rate limited;
- `blocked`: the response was an access challenge;
- `parser_drift`: the page did not contain the public profile information needed
  to build a record;
- `timeout` or `network_error`: the request could not be completed.

### Exporting results

After a run, open the Dataset in Apify and export the results as JSON, CSV,
Excel, or another format supported by Apify. The `profiles` view makes the most
important identity, link, email, and media counts easy to review before
exporting.

### Limitations

- Only information publicly displayed by the profile is collected.
- Private, deleted, password-protected, or unavailable information is not
  reconstructed.
- The Actor does not log in, submit forms, or collect private account data.
- Video fields contain public URLs and references, not downloaded video files.
- A profile may change between runs, so results represent the public page at the
  time of collection.

### Responsible use

Use the Actor only for profiles and information you are allowed to collect.
Respect About.me's terms, applicable privacy and data-protection laws, and the
rights of profile owners. Do not use the output for unsolicited messages,
discrimination, harassment, or any activity that violates applicable rules.

# Actor input Schema

## `profiles` (type: `array`):

Enter About.me usernames or full https://about.me/<username> profile URLs. Duplicate entries are removed.

## Actor input object example

```json
{
  "profiles": [
    "bfeld"
  ]
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `runStats` (type: `string`):

No description

# 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 = {
    "profiles": [
        "bfeld"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("datascraperes/aboutme-profile-scraper").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 = { "profiles": ["bfeld"] }

# Run the Actor and wait for it to finish
run = client.actor("datascraperes/aboutme-profile-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "profiles": [
    "bfeld"
  ]
}' |
apify call datascraperes/aboutme-profile-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,datascraperes/aboutme-profile-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/OkZUB52AzrexdGRuo/builds/AdFXmbyAuB6xDVxLe/openapi.json
