Pick-n-Pull Scraper — Yard Inventory & New Arrivals
Pricing
from $2.40 / 1,000 vehicles
Pick-n-Pull Scraper — Yard Inventory & New Arrivals
Scrape Pick-n-Pull self-service yard inventory for pullers and recyclers. Export year, make, model, VIN, row, arrival date, and yard, and monitor new arrivals.
Pricing
from $2.40 / 1,000 vehicles
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Pick-n-Pull or Radius Recycling. Data is read from publicly accessible vehicle-search pages only. No login. You are responsible for complying with applicable law (including GDPR where a VIN is personal data) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Scrape Pick-n-Pull self-service yard inventory. Each row is one donor vehicle: year, make, model, VIN, yard row, arrival date, and yard.
Search by year, make, model, ZIP, or VIN. Turn on monitor mode and schedule the run to save only new VINs and vehicles that moved to a new row.
Best for: pullers, recyclers, and repair shops who check which yard has a donor car before they drive there.
| Copart | IAAI | Row52 | Pick-n-Pull | Car-Part | PartsHotlines |
|---|---|---|---|---|---|
| Copart Scraper | IAAI Scraper | Row52 Scraper | Pick-n-Pull Scraper ◄── you are here | Car-Part Scraper | PartsHotlines Scraper |
Auto parts suite — locate the donor car, price the used part, then compare a new US or EUR catalog price.
| Actor | What it returns |
|---|---|
| Row52 Scraper | Junkyard donor cars: VIN, yard, row |
| Pick-n-Pull Scraper ◄── you are here | Self-service yard inventory: VIN, row |
| PartsHotlines Scraper | Used part price, grade, and yard |
| CarParts.com Scraper | US aftermarket price and catalog status |
| Oscaro Scraper | French catalog price in EUR |
When to use this Actor
- Find a donor car — Year, make, model, and a ZIP. Results show the yard, the row, and the date the car was added.
- Watch new arrivals — Enable
monitorModeand schedule the same input. The first run stores a baseline. Later runs save new VINs and row moves. - Check one VIN — Pass
vinto see whether that vehicle is in a yard. - One yard —
yardNamesuch asRancho Cordovalimits the search to that store.
Key features
- Public inventory search only. No account and no login.
- Live catalog match for make, model, and yard name.
- Year, make, model, VIN, row, arrival date, yard, city, state, and photo when published.
- Monitor mode for new VINs and row moves, keyed by VIN.
- HTTP fetch, 256 MB, no proxy by default.
Input
| Field | Required | Default | What it does |
|---|---|---|---|
year | no | 2016 | Model year or range, for example 2015-2018 |
make | no | Honda | Make, matched to the catalog. Blank searches every make |
model | no | Civic | Model for that make |
vin | no | Full or partial VIN. Ignores year, make, and model | |
zipCode | no | 94560 | US ZIP or Canadian postal code |
distance | no | 100 | Radius in miles. 25000 is unlimited |
yardName | no | One yard or city, for example Rancho Cordova | |
sortBy | no | dateAdded | Newest arrivals first |
hasImage | no | false | Keep vehicles that have a photo |
maxItems | no | 30 | Vehicles to save. In monitor mode, caps charged rows, not the scan |
maxPages | no | 3 | Pages to read. About 30 vehicles per page |
monitorMode | no | false | Save only new VINs and row moves after the baseline |
monitorStoreName | no | picknpull-monitor | Named store for VINs seen on earlier runs |
resetMonitorState | no | false | Clear that store and start a new baseline |
proxyConfiguration | no | off | Leave off unless a run is blocked |
Example
{"year": "2016","make": "Honda","model": "Civic","zipCode": "94560","distance": 100,"sortBy": "dateAdded","maxItems": 30,"monitorMode": true}
Output
One dataset item per vehicle.
| Field | Meaning |
|---|---|
vin | Vehicle identification number. This is the monitor key |
year, make, model | Donor vehicle |
row | Row in the yard |
dateAdded | Date added, as shown on the search |
yardName, yardId | Pick-n-Pull yard |
city, state, postalCode | Yard location |
imageUrl | Photo when one is published |
vehicleUrl | Public vehicle page |
zipCode | ZIP used for this search |
monitorChange | After the baseline: new or moved |
previousRow | Prior row when monitorChange is moved |
{"vin": "WA1DKAFP1BA044876","year": 2011,"make": "Audi","model": "Q5","row": "29","dateAdded": "Oct 23, 2026","yardName": "PICK-n-PULL Rancho Cordova","yardId": "66","city": "Rancho Cordova","state": "California","postalCode": "95742","vehicleUrl": "https://www.row52.com/Vehicle/Index/WA1DKAFP1BA044876","zipCode": "94560"}
Use cases
- A puller checks which yard has a 2016 Civic, and which row it is in, before the drive.
- A recycler schedules the same ZIP and model. The next run returns only cars that were not in the yard last time.
- A shop looks up one VIN to see if that car has arrived.
- After a lot on Copart Scraper, watch the same year and model here for a self-service donor.
- Once the donor is in the yard, price the part with PartsHotlines Scraper or Car-Part Scraper.
- Compare a new catalog price with CarParts.com Scraper, or a French EUR price with Oscaro Scraper. Check other Row52 yards with Row52 Scraper.
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/picknpull-scraper').call({year: '2016',make: 'Honda',model: 'Civic',zipCode: '94560',distance: 100,maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient()run = client.actor("crawloop/picknpull-scraper").call(run_input={"year": "2016","make": "Honda","model": "Civic","zipCode": "94560","distance": 100,"maxItems": 20,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["vin"], item.get("row"), item.get("yardName"))
cURL
curl "https://api.apify.com/v2/acts/crawloop~picknpull-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"year":"2016","make":"Honda","model":"Civic","zipCode":"94560","distance":100,"maxItems":20}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/picknpull-scraper.
Example prompts:
- "Run Pick-n-Pull Scraper for a 2016 Honda Civic within 100 miles of ZIP 94560 and return VIN, row, dateAdded, and yardName."
- "Turn on monitor mode for that Civic search and tell me which VINs are new since the last run."
- "After Pick-n-Pull Scraper finds a 2016 Civic, run PartsHotlines Scraper for the engine price, then CarParts.com Scraper or Oscaro Scraper for a new catalog price."
Suite next step
Price the part once you know the donor is in the yard: PartsHotlines Scraper or Car-Part Scraper. For other Row52 yards, run Row52 Scraper. For a new catalog price, run CarParts.com Scraper or Oscaro Scraper. For the same vehicle at auction, run Copart Scraper or IAAI Scraper.
FAQ
Does this log in to a yard account? No. It reads the public inventory search.
Why is the first monitor run full of vehicles?
That run is the baseline. Later runs in the same monitorStoreName save new VINs and cars that moved to a different row.
Why did a narrow search return nothing?
That year and model may not be in range of the ZIP. The run finishes with 0 vehicles. Widen distance or clear year.
Can I watch one store?
Set yardName to the city or yard, for example Newark, and schedule monitorMode.