Friendica Network Extractor avatar

Friendica Network Extractor

Pricing

from $0.35 / 1,000 records

Go to Apify Store
Friendica Network Extractor

Friendica Network Extractor

Point at ANY Friendica instance and extract its statistics.json (server metadata + the services bridge-map of which networks the node bridges, flattened to columns) or its public /api/v1/directory member roster. Offset-paginated. Seeded on libranet.de, venera.social, pirati.ca.

Pricing

from $0.35 / 1,000 records

Rating

0.0

(0)

Developer

Datamule

Datamule

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 days ago

Last modified

Share

What does Friendica Network Extractor do?

Friendica Network Extractor reads public data from any Friendica instance (for example libranet.de). Friendica is a federated social network that speaks DFRN and ActivityPub. Give the Actor an instance URL and it returns either:

  • statistics: one row for the instance with its name, version, open registrations, user and post counts, and the other networks it bridges to (Bluesky/AT Protocol, Tumblr, WordPress, pump.io and more). Each bridge gets its own services_<name> true/false column.
  • directory: one row per member from the instance's public member directory (/api/v1/directory). Each row has the id, username, display name, profile URL, avatar, follower/following/post counts and dates.

The Actor uses only anonymous public endpoints. You don't need a login or an API key.

How to use it

  1. Enter the Friendica instance URL, e.g. https://libranet.de. A page address copied from your browser also works, such as https://libranet.de/profile/admin or pirati.ca/directory; the run log shows the root it used.
  2. Choose a Mode: statistics or directory.
  3. In directory mode, set Max records (the default is 2000). You can also pick a sort order (active or new).
  4. Run it. Download the dataset as JSON, CSV, Excel or HTML, or read it through the Apify API.

Example input (a small directory run):

{
"friendicaUrl": "https://pirati.ca",
"mode": "directory",
"maxRecords": 30,
"pageSize": 40
}

Output example (statistics row from libranet.de)

{
"friendicaUrl": "https://libranet.de",
"name": "LIBRANET.de",
"network": "Friendica",
"version": "2026.08-rc-1600",
"registrations_open": true,
"total_users": 123,
"active_users_halfyear": 120,
"active_users_monthly": 92,
"local_posts": 164376,
"services_atprotocol": true,
"services_pumpio": true,
"services_tumblr": false,
"_mode": "statistics"
}

Directory rows have id, username, acct, display_name, note, url, avatar, followers_count, following_count, statuses_count, created_at and last_status_at. The full member object is kept in _raw.

In the Console Output tab, pick the Directory members view to see only member columns: display name, handle, a clickable Profile link (the member's own url as returned by the instance), followers, following, posts, last post and join date. A member without a url has no link. Statistics runs keep using Overview. The view changes only what the table shows; CSV/JSON exports and the API keep every field.

Pricing and your maximum charge

You pay per event: one record event for each row written (a statistics row or a directory member). The price is $0.0005 per record on the Free plan and falls with each tier to $0.00025 on Diamond.

Your maximum charge is respected. Before every request to the instance, the Actor checks how much budget is left. Once your Max total charge can't pay for one more record, it stops. It never writes a row it can't bill, and it never fetches a page it can't pay for. maxRecords is a hard limit too. If the platform restarts a run, rows that were already delivered and billed are not written or billed again.

Limits and notes

  • Some instances turn their API off and return an HTML page instead. Others block the endpoint (HTTP 403/503). When that happens the run fails with exit code 91 instead of returning an empty "success". The run status then says what went wrong and what to do next: a mistyped address, a server that is not Friendica, a server that does not offer that mode (try the other mode), a block, or a timeout. Failed runs are not charged, because no records are delivered.
  • If a later directory page fails, the Actor keeps the rows it has already delivered and ends the run.
  • Friendica requires a login for the public timeline (/api/v1/timelines/public), so the Actor doesn't use it.
  • Directory size varies by instance, often from tens to a few hundred members.
  • The Actor collects public data only. Use it in line with each instance's terms and applicable privacy law.

Found a problem or need another field? Open an issue on the Issues tab.