Fiverr Gig Listings Scraper
Pricing
Pay per event
Fiverr Gig Listings Scraper
Scrape Fiverr gig search results by keyword — title, seller name, price, rating, review count, and delivery package details. Structured JSON/CSV output for freelance-marketplace research, competitor pricing benchmarks, and lead-gen tooling. No login required.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
🎯 What this scrapes
Fiverr's gig search (fiverr.com/search/gigs) has no public API and is
the default place agencies, researchers, and lead-gen tooling look for
freelance-marketplace pricing and seller data. This Actor searches one
or more keywords and returns structured rows per gig — title, seller
name and country, rating and review count, starting price, package
type, delivery time, and thumbnail — straight from Fiverr's own search
response.
🔥 What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python. - 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
- 🔁 Retries with exponential backoff on
408 / 429 / 503 / 504— up to 5 attempts per page,Retry-Afterhonoured. - 🧱 Session rotation on 403 — a block on one exit IP doesn't stall the whole run.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — $0.20 per run plus $0.003 per unique gig delivered. No data, no per-result charge.
- 🧹 De-duplicated results — Fiverr's own search response can list the same gig twice on one page (once promoted, once organic); we collapse duplicates before they ever hit your dataset or your bill.
💡 Use cases
- Competitor pricing benchmarks — pull starting prices and delivery times across a service category.
- Freelance-marketplace research — analyze rating, review volume, and Pro-seller mix by keyword.
- Lead generation — build a directory of active Fiverr sellers in a given niche.
- Market monitoring — re-run on a schedule and diff successive datasets to spot new gigs and price changes.
⚙️ How to use it
- Click Try for free at the top of the page.
- Enter one or more search keywords and adjust
maxPagesPerKeywordif needed. - Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
keywords | array | yes | — | One or more Fiverr search queries, e.g. ["logo design", "wordpress developer"]. |
maxPagesPerKeyword | integer | no | 3 | Pages to fetch per keyword (48 gigs/page, so 3 = up to 144 rows/keyword). |
countryCode | string | no | "US" | 2-letter ISO code pinning the residential proxy exit country. |
maxRuntimeSecs | integer | no | 300 | Wall-clock deadline governor; stop requesting new pages once spent. |
proxyConfiguration | object | no | Residential | Apify Proxy spec — must stay Residential; Fiverr blocks direct/datacenter requests. |
Example input
{"keywords": ["logo design", "wordpress developer"],"maxPagesPerKeyword": 2,"maxRuntimeSecs": 90,"countryCode": "US","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
📤 Output
Every row is one Fiverr gig.
| Field | Type | Notes |
|---|---|---|
gigId | integer | Fiverr gig ID. |
title | string | Gig title. |
sellerName | string | Seller username. |
sellerId | integer | null | Seller numeric ID. |
sellerCountry | string | null | Seller's declared country. |
sellerOnline | boolean | null | Whether the seller was online at scrape time. |
isPro | boolean | null | Whether the seller carries Fiverr Pro status. |
isSponsored | boolean | True iff the gig was a promoted/sponsored listing. |
sellerRatingScore | number | null | Seller rating, 0-5. |
sellerRatingCount | integer | null | Number of ratings. |
priceFrom | number | null | Starting price, as-observed (no currency conversion). |
packageType | string | null | Recommended package tier. |
deliveryDays | integer | null | Delivery time in days for the recommended package. |
hourlyRate | number | null | Hourly rate, when published. |
categoryId | integer | null | Fiverr category ID. |
subCategoryId | integer | null | Fiverr sub-category ID. |
thumbnailUrl | string | null | Main gig image URL. |
gigUrl | string | Absolute gig URL. |
sourceKeyword | string | The input keyword that produced this row. |
sourcePage | integer | 1-indexed search-results page this row came from. |
scrapedAt | string | ISO-8601 timestamp of when this row was fetched. |
Example output
{"gigId": 38121635, "title": "create a modern minimalist logo design","sellerName": "yannick90", "sellerId": 30065438, "sellerCountry": "NL","sellerOnline": true, "isPro": true, "isSponsored": false,"sellerRatingScore": 4.879479, "sellerRatingCount": 2303,"priceFrom": 250.0, "packageType": "cheapest", "deliveryDays": 3,"hourlyRate": 3500.0, "categoryId": 3, "subCategoryId": 49,"thumbnailUrl": "https://fiverr-res.cloudinary.com/.../design-a-clean-and-modern-logo.png","gigUrl": "https://www.fiverr.com/yannick90/design-a-clean-and-modern-logo","sourceKeyword": "logo design", "sourcePage": 1, "scrapedAt": "2026-09-10T14:22:03Z"}
💰 Pricing
Pay-Per-Event: $0.20 per run start, plus $0.003 per unique gig row written to your dataset. No results, no per-row charge — a run that gets blocked before returning any gigs only costs the $0.20 start fee. 1,000 gigs works out to $3.20 total ($0.20 + 1,000 × $0.003).
Duplicate gig entries — the same gig appearing twice on one search page, or the same promoted gig re-appearing across multiple pages of one keyword — are collapsed before they reach your dataset (see Limitations), so you are only ever billed once per gig actually delivered.
🚧 Limitations
Search results only — no gig detail-page scraping (reviews list, FAQ,
seller portfolio) and no seller-profile-page scraping in v1. No
authenticated/logged-in views. Prices are emitted as-observed in
whatever unit Fiverr's response carries for the pinned countryCode,
with no currency conversion.
Fiverr's search response can list the same gig twice within one page —
once as a promoted/sponsored placement and once in the organic
ranking — and can also re-inject the same promoted gig on multiple
pages of one keyword's results. We de-duplicate by gigId within each
keyword's whole result set before writing rows, keeping
isSponsored: true if any copy carried the promoted marker, so you
get one clean row (and one charge) per gig instead of a duplicate. The
same gig matching two different keywords is not de-duplicated — that
is distinct information you asked for twice.
❓ FAQ
Is this legal?
We only fetch content Fiverr's own public search page makes visible to any visitor. Respect Fiverr's terms of service before using output commercially.
Why did I get fewer rows than maxPagesPerKeyword × 48?
Fiverr's own search may return fewer gigs for a niche keyword, or the
run may have hit maxRuntimeSecs before finishing every page —
check the run's status message for a pages-fetched-vs-requested count.
Can I filter by price or rating?
Not in v1 — this Actor returns everything Fiverr's search API returns for your keyword; filter the dataset after export.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.