Google Scholar Profiles Scraper avatar

Google Scholar Profiles Scraper

Pricing

from $1.21 / 1,000 profile results

Go to Apify Store
Google Scholar Profiles Scraper

Google Scholar Profiles Scraper

Export public Google Scholar profiles, current citation metrics, citation history, interests, coauthors, homepage and up to 100 publications by URL or user ID.

Pricing

from $1.21 / 1,000 profile results

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

7 days ago

Last modified

Share

Google Scholar Profiles Scraper exports public Google Scholar author profile data, citation metrics, interests, coauthors, and visible publication rows from profile URLs or user IDs.

Use it for researcher discovery, academic profile monitoring, citation snapshots, grant or hiring research, and structured profile datasets for analysis.

At a glance

  • Extracts: profile URL, user ID, name, affiliation, verified email domain, interests, citations, h-index, i10-index, publication rows, optional coauthors, and scrape timestamp.
  • Inputs: Google Scholar profile URLs, Google Scholar user IDs, maximum publications per profile, coauthor toggle, and proxy configuration.
  • Best for: academic researcher datasets, citation metric snapshots, coauthor exploration, institutional research, and talent or grant-review workflows.
  • Exports: Apify dataset rows downloadable as CSV, JSON, Excel, or available through the API.
  • Login: no Google account, cookies, or Google Scholar API key are required.

Ready-to-run examples

Use these saved Store examples as starting points. Open any example to prefill the Actor input, then adjust URLs, keywords, limits, or filters for your own run.

What can it do?

  • Export public Scholar profiles: save author identity, affiliation, verified email domain, research interests, and public profile URLs.
  • Track citation metrics: collect total and since-2019 citations, h-index, and i10-index values visible on the profile.
  • Capture publication rows: include visible publication titles, authors, venues, years, citation counts, and publication links up to your configured limit.
  • Collect coauthor context: optionally save visible coauthor cards for lightweight research-network mapping.

Common workflows

  • Build researcher shortlists: export profile metadata, citation metrics, interests, and affiliation text for candidate review.
  • Monitor profile metrics: schedule repeat runs for known user IDs and compare citation or h-index changes downstream.
  • Capture publication samples: limit maxPublications to the number of visible rows you need for ranking or review.
  • Explore coauthor networks: enable includeCoauthors to collect visible coauthor cards from public profiles.

Input configuration

SettingJSON keyDescription
Google Scholar profile URLsprofileUrlsPublic Google Scholar profile URLs. You can also paste bare user IDs.
Google Scholar user IDsuserIdsUser IDs from the user= URL parameter when you have IDs instead of full URLs.
Maximum publications per profilemaxPublicationsMaximum visible publication rows to include for each author profile. The Actor caps this at 100.
Include visible coauthorsincludeCoauthorsExtract visible coauthor cards shown on the public profile when available.
Request retriesmaxRequestRetriesRetry temporary errors and Scholar challenges with fresh proxy sessions, up to five additional attempts.
Request timeoutrequestTimeoutSecsBound each Scholar request from 5 to 120 seconds.
Processing safety limitrunTimeSecsStop admitting new profiles before the run timeout and preserve remaining profile URLs in PENDING_PROFILES.
Proxy configurationproxyConfigurationOptional proxy settings. Google Scholar often blocks cloud datacenter traffic, so residential proxy can improve reliability.

If both profileUrls and userIds are omitted, the Actor runs the example profile from the input form. An interrupted run can be resurrected on the same storage: it restores PENDING_PROFILES, skips profile IDs already in the dataset, and does not add a second start fee.

Example input

{
"userIds": ["qc6CJjYAAAAJ"],
"maxPublications": 10,
"includeCoauthors": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output fields

FieldDescription
profileUrl, userIdPublic Google Scholar profile URL and user ID when available.
name, affiliation, verifiedEmailDomainVisible profile identity and affiliation fields.
interestsPublic research interest labels shown on the profile.
citations, citationsSince2019Total and since-2019 citation counts when visible.
hIndex, hIndexSince2019Total and since-2019 h-index values when visible.
i10Index, i10IndexSince2019Total and since-2019 i10-index values when visible.
publicationsVisible publication rows with title, authors, venue, year, citation count, and URL when available.
publicationCountNumber of publication rows saved for the profile.
coauthorsVisible coauthor cards when includeCoauthors is enabled.
scrapedAtTimestamp when the profile was scraped.

Example output

{
"profileUrl": "https://scholar.google.com/citations?user=qc6CJjYAAAAJ&hl=en",
"userId": "qc6CJjYAAAAJ",
"name": "Example Scholar",
"affiliation": "Example University",
"verifiedEmailDomain": "example.edu",
"interests": ["machine learning", "data mining"],
"citations": 12345,
"hIndex": 42,
"i10Index": 100,
"publications": [
{
"title": "Example publication title",
"authors": "A. Scholar, B. Coauthor",
"venue": "Example Journal",
"year": 2024,
"citations": 25,
"url": "https://scholar.google.com/citations?view_op=view_citation&citation_for_view=example"
}
],
"publicationCount": 1,
"scrapedAt": "2026-07-03T09:00:00.000Z"
}

Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

EventWhat is chargedPrice
startOne-time fee per run$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
resultPer Google Scholar profile saved to the dataset$2.326 / 1,000$2.0226 / 1,000$1.5776 / 1,000$1.2135 / 1,000$0.80903 / 1,000$0.56632 / 1,000

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

Tips for best results

  • Use user IDs for stable inputs: the user= value is the cleanest identifier for repeat runs.
  • Keep publication limits realistic: capture only the rows you need; larger profile pages take longer.
  • Enable residential proxy if challenged: Google Scholar often blocks cloud datacenter traffic.
  • Schedule gently: repeated high-volume runs can increase the chance of challenge pages.

Limits and caveats

  • Only public profile data is collected: private data, login-only data, PDFs, and full paper text are not scraped.
  • Google Scholar can block requests: the Actor stops with a clear challenge/rate-limit error when Scholar returns a block page.
  • Metrics are page snapshots: citation counts and indexes reflect what was visible at scrape time.
  • Publication rows are limited: the Actor captures visible rows from the profile up to maxPublications.

API usage

Run from the Apify API or SDK with the same input keys shown above.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/google-scholar-profiles-scraper').call({
userIds: ['qc6CJjYAAAAJ'],
maxPublications: 10,
includeCoauthors: true
});
console.log(run.defaultDatasetId);
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/google-scholar-profiles-scraper').call(run_input={
'userIds': ['qc6CJjYAAAAJ'], 'maxPublications': 10, 'includeCoauthors': True
})
print(run['defaultDatasetId'])
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-scholar-profiles-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"userIds":["qc6CJjYAAAAJ"],"maxPublications":10,"includeCoauthors":true}'

MCP and AI agents

For AI agents, use the official Apify MCP server. The focused single-Actor URL is:

https://mcp.apify.com?tools=fetch_cat/google-scholar-profiles-scraper

The default MCP server can search and run Actors. The focused URL exposes this Actor directly to clients that support tool-scoped MCP connections.

Claude Code setup:

$claude mcp add apify-google-scholar-profiles "https://mcp.apify.com?tools=fetch_cat/google-scholar-profiles-scraper"

Claude Desktop configuration:

{
"mcpServers": {
"apify-google-scholar-profiles": {
"url": "https://mcp.apify.com?tools=fetch_cat/google-scholar-profiles-scraper"
}
}
}

Example prompts:

  • “Compare citation metrics for these public Google Scholar user IDs.”
  • “Extract publication rows for this Scholar profile and return the dataset link.”

FAQ

Can I export Scholar profile data to CSV, Excel, JSON, or API? Yes. Apify datasets support all of those access paths.

Does this require a Google account? No. It reads public Google Scholar profile pages.

Why did my run stop with a challenge message? Google Scholar returned a rate-limit or challenge page. Try a smaller run, slower schedule, or residential proxy.

Can this scrape Google Scholar search results? No. This Actor focuses on public author profile URLs and user IDs.

Why are some publication fields empty? Google Scholar does not expose every field for every visible publication row.

Support

If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.

Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.

Privacy and data handling

This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses search/query inputs and public search, trend, app, patent, news, or profile results to produce the output dataset and sends requests to public Google Scholar Profiles pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.