Google Scholar Profiles Scraper
Pricing
from $1.21 / 1,000 profile results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
7 days ago
Last modified
Categories
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.
- Extract Scholar Research Interest Tags
- Compare Scholar h-index Metrics
- Create an Academic RAG Dataset
- Export Scholar Profiles to Sheets
- Monitor Scholar Profile Metrics
- Research Subject-Matter Experts
- View all ready-to-run examples (12 examples)
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
maxPublicationsto the number of visible rows you need for ranking or review. - Explore coauthor networks: enable
includeCoauthorsto collect visible coauthor cards from public profiles.
Input configuration
| Setting | JSON key | Description |
|---|---|---|
| Google Scholar profile URLs | profileUrls | Public Google Scholar profile URLs. You can also paste bare user IDs. |
| Google Scholar user IDs | userIds | User IDs from the user= URL parameter when you have IDs instead of full URLs. |
| Maximum publications per profile | maxPublications | Maximum visible publication rows to include for each author profile. The Actor caps this at 100. |
| Include visible coauthors | includeCoauthors | Extract visible coauthor cards shown on the public profile when available. |
| Request retries | maxRequestRetries | Retry temporary errors and Scholar challenges with fresh proxy sessions, up to five additional attempts. |
| Request timeout | requestTimeoutSecs | Bound each Scholar request from 5 to 120 seconds. |
| Processing safety limit | runTimeSecs | Stop admitting new profiles before the run timeout and preserve remaining profile URLs in PENDING_PROFILES. |
| Proxy configuration | proxyConfiguration | Optional 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
| Field | Description |
|---|---|
profileUrl, userId | Public Google Scholar profile URL and user ID when available. |
name, affiliation, verifiedEmailDomain | Visible profile identity and affiliation fields. |
interests | Public research interest labels shown on the profile. |
citations, citationsSince2019 | Total and since-2019 citation counts when visible. |
hIndex, hIndexSince2019 | Total and since-2019 h-index values when visible. |
i10Index, i10IndexSince2019 | Total and since-2019 i10-index values when visible. |
publications | Visible publication rows with title, authors, venue, year, citation count, and URL when available. |
publicationCount | Number of publication rows saved for the profile. |
coauthors | Visible coauthor cards when includeCoauthors is enabled. |
scrapedAt | Timestamp 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.
| Event | What is charged | Price |
|---|---|---|
start | One-time fee per run | $0.005 |
| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
|---|---|---|---|---|---|---|---|
result | Per 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 ApifyClientimport osclient = 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.
Related actors
- Google News Scraper
- Google Play Apps Scraper
- Google Play Reviews Scraper
- Google Ads Transparency Center Scraper
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.

