
Serpapi scholar ai websearch equviliant
- or -
Post a project like this£50(approx. $67)
- Posted:
- Proposals: 7
- Remote
- #4355575
- Expired
⭐️ ⭐️⭐️⭐️⭐️ Full-Stack Developer | Expert in All Types of Programming
Top Cert Web Developer | Graphic Designer | Virtual Assistant | Social Media Manager | Video Editor | Content Writer
Financial Data Analyst | FP&A & Business Intelligence | Power BI, SQL, Excel, Tableau, Python,R | Financial Modeling & Forecasting | Data-Driven Insights
1170036512243256121948531029053411598837122088918448666





Description
Experience Level: Entry
Original Project Overview
We maintain a Google Sheets database of academic figures, each with the following columns:
Name
Surname
Email
University
Subject
We need to automatically fetch the latest two publications for each individual using:
Google Scholar (via SerpAPI’s Scholar API)
ORCID (public API)
OpenAlex (public API)
The results must be inserted back into specified columns in the Google Sheet (F–Q), updated daily or on-demand.
Key Challenges
Sorting by Latest in Google Scholar
By default, Scholar returns top-cited or most-relevant articles, not necessarily newest.
Must force a date sort (&sort=pubdate) or a separate fallback approach.
Handling Ambiguous Names
Multiple authors can share the same name.
Potentially need to detect and filter out mismatched results.
Ensuring Valid Data Types
Google Sheets rejects structured or non-string data.
Must parse out just the string or numeric year/date.
Rate Limits and API Keys
Respect daily or per-minute call limits for SerpAPI, ORCID, OpenAlex.
Must handle errors gracefully.
Automation
Should run as a script from a server or cloud environment (we have console access).
Possibly on a schedule (e.g., daily cron job).
Responsibilities
Set up a robust Python script or application that:
Authenticates to Google Sheets (using service account credentials). DONE
Retrieves our researcher data (Name, Surname, Email, University, Subject) from the “Pubs” or “Topics” sheet.
Calls SerpAPI’s Google Scholar endpoint with date-sorted queries, including fallback logic if no results appear.
Calls ORCID’s public API (optional, can parse structured date fields carefully).
Calls OpenAlex’s public API to fetch the newest two works by each author.
Inserts the results (title, year/date) back into the correct columns in the Google Sheet (F–Q).
Handle name disambiguation or minimal validation so we don’t store obviously incorrect publications.
Deliverables
Python script (or small app) that can be triggered manually or on a schedule.
Successful write-back of 2 publications each from Google Scholar, ORCID, and OpenAlex (6 total) into the correct columns.
Error handling: If no results, store “N/A” or a sensible fallback.
Instructions on setup, environment variables, and usage (e.g., README).
What Still Needs To Be Done
1. Fix Google Scholar Fetch
Main Problem: You're getting most cited or incorrect results.
Needs Fixing:
Ensure sort=pubdate is actually respected in SerpAPI query.
Add fallback logic: if pubdate query fails (returns nothing), retry without it.
Clean up irrelevant results using basic validation (e.g., check university or subject in result string).
2. OpenAlex Improvements
Currently works for some authors.
But still needs name disambiguation logic:
Validate author’s affiliation or match on email (if possible).
Fallback if OpenAlex returns wrong author.
3. ORCID Integration (Optional)
You paused this due to structured date errors.
If you want to include it again later:
Parse structured publication-date fields into simple strings.
Validate the correct ORCID author before fetching works.
4. Error Handling
Improve logging to show:
Which step failed (e.g. API call, parsing, writing to sheet).
Show why (e.g., "no publications found", "mismatched data", "bad year format").
Replace all "N/A" logic with something more transparent (e.g., "No match found for [X]").
5. Name Disambiguation Logic
Currently just using Name + University + Subject in the query.
Needs:
Smarter matching logic to avoid irrelevant or repetitive publications.
Maybe strip long names or fuzzy-match affiliations if exact match fails.
6. Cleaner Sheet Writes
Fix Google Sheets writing errors:
Avoid trying to write structured JSON (like ORCID publication-date objects).
Ensure all fields written are flat strings (title + year/date only).
7. Automation (Optional)
Set up to run automatically (cron job, server scheduler) if needed.
Add logging/output to file for record-keeping.
We maintain a Google Sheets database of academic figures, each with the following columns:
Name
Surname
University
Subject
We need to automatically fetch the latest two publications for each individual using:
Google Scholar (via SerpAPI’s Scholar API)
ORCID (public API)
OpenAlex (public API)
The results must be inserted back into specified columns in the Google Sheet (F–Q), updated daily or on-demand.
Key Challenges
Sorting by Latest in Google Scholar
By default, Scholar returns top-cited or most-relevant articles, not necessarily newest.
Must force a date sort (&sort=pubdate) or a separate fallback approach.
Handling Ambiguous Names
Multiple authors can share the same name.
Potentially need to detect and filter out mismatched results.
Ensuring Valid Data Types
Google Sheets rejects structured or non-string data.
Must parse out just the string or numeric year/date.
Rate Limits and API Keys
Respect daily or per-minute call limits for SerpAPI, ORCID, OpenAlex.
Must handle errors gracefully.
Automation
Should run as a script from a server or cloud environment (we have console access).
Possibly on a schedule (e.g., daily cron job).
Responsibilities
Set up a robust Python script or application that:
Authenticates to Google Sheets (using service account credentials). DONE
Retrieves our researcher data (Name, Surname, Email, University, Subject) from the “Pubs” or “Topics” sheet.
Calls SerpAPI’s Google Scholar endpoint with date-sorted queries, including fallback logic if no results appear.
Calls ORCID’s public API (optional, can parse structured date fields carefully).
Calls OpenAlex’s public API to fetch the newest two works by each author.
Inserts the results (title, year/date) back into the correct columns in the Google Sheet (F–Q).
Handle name disambiguation or minimal validation so we don’t store obviously incorrect publications.
Deliverables
Python script (or small app) that can be triggered manually or on a schedule.
Successful write-back of 2 publications each from Google Scholar, ORCID, and OpenAlex (6 total) into the correct columns.
Error handling: If no results, store “N/A” or a sensible fallback.
Instructions on setup, environment variables, and usage (e.g., README).
What Still Needs To Be Done
1. Fix Google Scholar Fetch
Main Problem: You're getting most cited or incorrect results.
Needs Fixing:
Ensure sort=pubdate is actually respected in SerpAPI query.
Add fallback logic: if pubdate query fails (returns nothing), retry without it.
Clean up irrelevant results using basic validation (e.g., check university or subject in result string).
2. OpenAlex Improvements
Currently works for some authors.
But still needs name disambiguation logic:
Validate author’s affiliation or match on email (if possible).
Fallback if OpenAlex returns wrong author.
3. ORCID Integration (Optional)
You paused this due to structured date errors.
If you want to include it again later:
Parse structured publication-date fields into simple strings.
Validate the correct ORCID author before fetching works.
4. Error Handling
Improve logging to show:
Which step failed (e.g. API call, parsing, writing to sheet).
Show why (e.g., "no publications found", "mismatched data", "bad year format").
Replace all "N/A" logic with something more transparent (e.g., "No match found for [X]").
5. Name Disambiguation Logic
Currently just using Name + University + Subject in the query.
Needs:
Smarter matching logic to avoid irrelevant or repetitive publications.
Maybe strip long names or fuzzy-match affiliations if exact match fails.
6. Cleaner Sheet Writes
Fix Google Sheets writing errors:
Avoid trying to write structured JSON (like ORCID publication-date objects).
Ensure all fields written are flat strings (title + year/date only).
7. Automation (Optional)
Set up to run automatically (cron job, server scheduler) if needed.
Add logging/output to file for record-keeping.

Projects Completed
35
Freelancers worked with
30
Projects awarded
24%
Last project
26 Jun 2025
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies