Amazon Online Arbitrage Product Souring VA (Keepa, EU Marketplaces)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

4.50$-6.00$ per hour

HOURS PER WEEK

40

DATE UPDATED

Aug 24, 2026

JOB OVERVIEW

We are two German Amazon sellers running an FBA business across the European marketplaces, and we are looking for a product sourcing VA to work with us long term.

Your job is to find profitable online arbitrage deals from European suppliers and retailers and to check whether they are actually worth buying before they reach us. You analyse each candidate in Keepa, estimate realistic sales, calculate profit, ROI and margin including VAT and all Amazon fees, and flag anything risky before it becomes our problem. Everything goes into our Google Sheet template with a short reason why you think it is a buy. We do not need long reports, we need decisions we can trust.

WHAT YOU SHOULD BRING
- Solid Keepa skills, we will test this rather than take your word for it
- Reading a graph properly: sales estimates, price history, offer count and seller behaviour, Amazon on the listing
- Handling variation listings correctly instead of treating parent data as one child
- Confident calculation of profit, ROI and margin including VAT
- An eye for risk: brand restrictions, gated categories, hazmat, counterfeit issues
- Understanding what makes a deal profitable rather than just cheap
- - English at B2 level or better, good enough to explain your reasoning and ask questions in a call, not just follow instructions

HOW YOU WORK
- You take responsibility for your own results
- You ask when something is unclear instead of guessing
- You say openly when a mistake happened
- You are willing to learn our criteria and improve on them over time
- Reliable communication counts more than speed

TOOLS WE PROVIDE
- Keepa
- ProfitPath
- SellerAmp / ProfitGo
- Google Sheets templates and our own sourcing criteria
- Access to our supplier lists and sources

You do not need to pay for any subscriptions yourself.

PAY
The base rate is 4.50 USD per hour. On top of that we pay bonuses for deals we actually buy that perform as calculated, which brings your effective rate to around 6 USD per hour, with room to grow further over the course of a year. The bonus is not there to push you into finding deals at any cost, that is simply the job. It exists because if this works well, you should benefit from it too.

HOW WE HIRE
First we send you a questionnaire so we can see how you think and work. If it is answered well, we have a call and go through everything in detail, and you can ask us anything you want to know as well. After that we start a trial phase of a few weeks to see whether we are a good fit, and you are of course judging that as much as we are.

HOW TO APPLY
Start your message with the word KEEPA so we know you read this. Tell us briefly how long you have been sourcing for Amazon and which tools you use, and share one product or deal you are proud of and what made it a good one. We would also like to get a sense of who you are beyond the work, so feel free to tell us a little about yourself and how you spend your time.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0113
Total Execution Time  0.0126
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,499,848 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Amazon-Online-Arbitrage-Product-Souring-VA-Keepa-EU-Marketplaces-1715680
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0061 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1715680
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 968145
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1715680
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-04',ej.date_added) duration_daysDATEDIFF('2026-09-04',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-09-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1715680' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1715680 
0.0009   UPDATE employer_jobs SET hit_counts '***Aug-24-2026=525***Aug-25-2026=230***Aug-26-2026=116***Aug-27-2026=80***Aug-28-2026=22***Aug-29-2026=26***Aug-30-2026=2***Aug-31-2026=2***Sep-03-2026=1***Sep-04-2026=1' WHERE job_id'1715680'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Aug-2026=1002***Sep-2026=2' WHERE job_id'1715680'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1715680' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1715680 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '968145'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)