

# Chronometrica vs Apify Facebook Comments Scraper: Which Should You Use for an Excel Export?

Choose Chronometrica’s Facebook Comments Scraper when your Excel export needs a set maximum of saved comment and reply rows per post, clear reply links, and an optional start and end date. These controls suit an analyst who has a known public Facebook thread and needs a file with clear collection limits. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

Apify’s Facebook Comments Scraper also exports public comments and replies to Excel. Choose it when its existing integration or documented three comment levels meet your needs. [Apify documentation](https://apify.com/apify/facebook-comments-scraper).

The first decision is what your spreadsheet must contain. A target such as “export this thread” leaves key questions open: whether replies count toward the limit, how you will keep reply links, and which dates belong in the file.

This comparison uses public documentation checked on October 20, 2026. The recommendation rests on those documented controls. No head-to-head collection test supports a claim about price, speed, accuracy, or reliability.

An Actor is a hosted data collection program. Both products discussed here are Actors on Apify. A Task is a saved input preset that helps you start with a known setup.

## Compare the controls that affect your Excel file

Use this table to match the collection controls to your file requirements.

| Requirement | Chronometrica ([documentation](https://apify.com/chronometrica/facebook-comments-scraper)) | Apify ([documentation](https://apify.com/apify/facebook-comments-scraper)) |
| --- | --- | --- |
| Saved-row maximum | `maxResultsPerPost` counts saved comments and replies together | Requested amounts can be exceeded through nested replies |
| Reply structure | Includes parent and root IDs; saved replies require saved parents and roots | Exports replies and thread depth through up to three levels |
| Collection dates | Inclusive start and end dates | Start-date input; an end date can be applied in Excel |
| Existing workflow | A public Task provides a small export setup | Excel export and an official Make integration |

Chronometrica’s main fit is the combination of controls. A per-post row maximum helps define the size of the saved sample. Parent and root IDs preserve its reply structure. Two date bounds let you state a period before collection. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

A parent ID identifies the comment that a reply answers. A root ID identifies the top-level comment at the start of that reply thread. These links matter when you need to see which statement a reply addresses.

Use the controls that solve your actual requirement. If you only need a small file for manual reading, a date window may add no value. If the file supports a report for a set period, define that period before you collect rows.

## Define what one row will mean

Write a short collection plan before you run either Actor. This gives you a clear basis for checking the export.

1. Name the source. Keep the direct content URL for each intended post. Open it without logging in and confirm that a visitor can read the comments you need.
2. Choose the unit. State whether your analysis concerns individual comments, replies, accounts, or full conversations. These are different units.
3. Set the maximum. Write the maximum number of saved rows for each content URL. State whether that maximum includes replies.
4. Define the period. Use a date window only when the question requires one. Record both boundaries if you need a closed period.
5. Define the file checks. State which IDs and reply links must survive the export.

A comment row is one saved comment or reply. It does not represent one person. One account can write several comments, and a public author name is not a unique identifier for a person.

A row also does not represent a full conversation. A top-level comment with several replies can use several rows. A capped sample can therefore contain fewer conversations than its row count suggests.

This distinction changes how you interpret the file. If your report needs the number of saved statements, count comment rows. If it needs the number of accounts, define a separate account method and explain the limits of the available public author data. Do not turn a row total into a people total.

For Chronometrica, collection is limited to comments available without login. Private and friends-only posts are outside its scope. Supply a supported content URL, rather than a Page, profile, Group, Story, or feed URL. A post inside a group still has to meet the supported-URL and public-access rules. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

## Choose a row maximum and date policy

Chronometrica’s `maxResultsPerPost` accepts values from 1 to 10,000 and defaults to 500. It limits all saved comment and reply rows for each supplied content URL. Replies are off by default through `includeReplies`. Turn them on when they belong in your sample. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

Choose the maximum from the work you intend to do. A first file should be small enough to inspect row by row. Once that file passes your checks, increase the maximum to match your analysis plan.

Keep the row maximum separate from any run charge limit. Record both if you use both. Do not use a charge limit as a promise that the run will produce a given number of rows.

Keep `collectAllAvailable` set to `false` for the first sample. Setting it to `true` removes the numeric limit. You do not need that change to check whether your input and export process work. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

Use `commentsFrom` and `commentsUntil` when you need an inclusive date window. “Inclusive” means that the stated boundaries belong to the window. With a date filter, Chronometrica skips comments whose dates are not public. A reply also needs a saved parent within that window. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

That date rule changes the sample. Choose a window if a dated report requires it and you accept those exclusions. Leave the date fields out when your first task is to inspect the available rows without that restriction.

Write this choice in the collection plan. A later reader should be able to tell whether an absent row could reflect the date policy, the row maximum, or another collection boundary.

## Run a small sample with the published Task

Start with the [Export Facebook Comments to CSV or Excel Task](https://apify.com/chronometrica/facebook-comments-scraper/examples/export-facebook-comments-to-csv). It provides a saved starting point for the export workflow.

The following input uses the current published schema. Replace the example URL with your intended public post URL. This is an input example, not a collection result.

```json
{
  "startUrls": ["https://www.facebook.com/reel/1733966934399341"],
  "maxResultsPerPost": 25,
  "includeReplies": true,
  "commentSortMode": "all",
  "collectAllAvailable": false
}
```

Run a small sample with the published Task

This setup declares a maximum of 25 saved rows for the supplied content URL and includes replies within that maximum. This setup uses supported input fields and turns replies on for this sample. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

Use the sample to check the collection process before you increase its size:

1. Replace the URL and confirm the row maximum.
2. Run the Task with the small input.
3. Read `OUTPUT` for input failures and stop reasons.
4. Save the untouched JSON export and the run summary.
5. Create the Excel working file from that saved result.

Chronometrica reports input failures and stop reasons in `OUTPUT`. It does not insert those messages as fake comment rows. Check that record even when the comment file contains rows. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

The saved JSON gives you a reference for later checks. If a value changes during spreadsheet import, you can compare it with the original export. Keep the run summary with it so that the rows and the reason collection stopped remain together.

Apify datasets support JSON and Excel exports. A dataset is the stored set of result rows from a run. You can save the JSON reference and use Excel for the working copy. [Apify dataset documentation](https://docs.apify.com/storage/dataset).

## Import the file without changing its IDs

IDs connect the spreadsheet rows. Preserve them before you sort, filter, or add analysis columns.

Chronometrica rows include `commentId`, `isReply`, `parentCommentId`, `rootCommentId`, `publishedAt`, and `scrapedAt`. They also contain comment text, public author fields, and reaction fields. `scrapedAt` records the collection time. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

Use this import method:

1. Keep the original export. Work on a copy so that you retain the source values.
2. Set ID columns to text. Preserve `commentId`, `parentCommentId`, and `rootCommentId` as identifiers, without numeric conversion.
3. Inspect dates and missing values. Check them against the JSON reference before you use them in filters or calculations.
4. Add analysis in separate columns. Keep source fields available for review.

For CSV files, Microsoft documents the Data > Get & Transform Data > From Text/CSV route and the Transform Data option. Use a controlled import to set ID columns to text before loading them. This avoids relying on automatic CSV formatting where text columns matter. Menu layouts can differ between Excel versions. [Microsoft text and CSV import guidance](https://support.microsoft.com/en-us/excel/get-started/import-or-export-text-txt-or-csv-files).

Keep unknown values unknown. Counts, dates, and identities can be missing from the public source. A missing reaction count does not establish zero reactions. A missing date does not establish an early date. Do not replace either with a value that changes its meaning.

The same rule applies to author fields. Keep the public values that were returned, but do not use matching display names as proof that two rows came from the same person.

## Check the saved sample before you expand it

A file that opens in Excel still needs checks. Test its rows and links against the collection plan.

1. Count saved rows. Compare the total with your declared maximum and the recorded stop reason.
2. Count distinct comment IDs. “Distinct” means each different ID counts once. Investigate any difference between the row count and the distinct-ID count before treating each row as a separate comment.
3. Check reply references. For each reply, confirm that every non-null `parentCommentId` and `rootCommentId` exists among the saved `commentId` values.
4. Check the import. Compare ID strings and selected date values with the untouched JSON.
5. Record the collection boundary. State whether collection stopped at the maximum or for another reported reason. Keep the source URL and collection time with that note.

A non-null reference contains a value rather than an empty reference. If that value points to a row that is absent, the saved file has failed the link check. Investigate the cause. Do not create a parent row or fill in missing comment text to make the check pass.

A capped run is a sample. A run that reaches the end of the available source still does not prove that Facebook exposed every comment. Neither product establishes complete collection of everything Facebook displays. Do not divide saved rows by a displayed Facebook count and label the result “total coverage” unless you have evidence that both counts describe the same public set.

These checks support a useful, narrower statement: the saved file follows its declared row rules, preserves its IDs, and has valid reply references. That is enough to decide whether to expand the collection for your stated task.

If the next task is feedback analysis, continue with [exporting Facebook comments and analyzing customer feedback](/en/articles/facebook-comments-customer-feedback/). That guide covers how to use the rows after you have chosen and checked the export process.

## A fictional worked decision

This entire example is fictional. An analyst has two known public posts. The analyst needs at most 100 saved rows from each post, including replies. Each reply must retain its parent link. The report also needs an inclusive start and end date, and the analyst accepts that comments with unavailable dates will be excluded.

Chronometrica fits those stated controls. The analyst sets `maxResultsPerPost` to 100, enables replies, keeps the numeric limit active, and supplies the required date bounds. Across two distinct content items, the declared maximum is 200 saved rows before source limits affect the result. [Chronometrica documentation](https://apify.com/chronometrica/facebook-comments-scraper).

Suppose one saved sample contains 70 top-level comments and 30 replies. It contains 100 comment rows. It does not contain 100 people or 100 full conversations.

The analyst checks the saved IDs. If every reply’s parent and root exists in the file, the sample passes the link check. That finding concerns the saved sample; it does not prove the full source thread is complete. The analyst keeps the JSON and summary, then prepares the Excel working copy.

Change the requirement: the analyst already uses Apify’s official Make module and wants its three-level export, then filters dates in Excel. Apify can be the better operational fit. [Apify documentation](https://apify.com/apify/facebook-comments-scraper).

If the actual requirement is every private comment, neither public Actor fits. The collection requirement must change before this comparison can produce a suitable choice.

## Start with a checked Chronometrica sample

Use [Chronometrica’s Facebook Comments Scraper](https://apify.com/chronometrica/facebook-comments-scraper) when the saved-row maximum, reply links, and two date bounds match your Excel requirements. Replace the example URL, collect the 25-row sample, and save its JSON and summary. Increase the maximum only after the ID, reply-link, and import checks pass.

## Sources

- [Chronometrica Facebook Comments Scraper](https://apify.com/chronometrica/facebook-comments-scraper)
- [Export Facebook Comments to CSV or Excel Task](https://apify.com/chronometrica/facebook-comments-scraper/examples/export-facebook-comments-to-csv)
- [Apify Facebook Comments Scraper](https://apify.com/apify/facebook-comments-scraper)
- [Apify dataset documentation](https://docs.apify.com/storage/dataset)
- [Microsoft: Import or export text and CSV files](https://support.microsoft.com/en-us/excel/get-started/import-or-export-text-txt-or-csv-files)