jaroslavhejlek/kickstarter-search

Wrapper above Kickstarter search page. Takes configuration with search filters and outputs list of projects matching the search filters found on Kickstarter. Does not require proxy.

Modified
Last run
Used 12 times

Actor - Kickstarter search

Actor which takes as an Input Kickstarter search filter configuration and outputs JSON of found results into dataset.

Planned features

  • Unit tests
  • Compare current run with previous one and output only new projects
  • Concurrently load more pages at the same time to speed up project loading
  • Add human readable formats to dates and other values in output.

INPUT

Input of this actor should be JSON containing filter specification. Allowed filters are:

Field Type Description Allowed values
query String Search term Any string value
category String Category to search in Category slug from this list
location String / Number Location to search around Either a name of the location or ID of the location
status String State of the project One of: "All", "Live", "Successful"
pledged String Amount pledged One of:
"All"
"< $1,000 pledged"
"$1,000 to $10,000 pledged"
"$10,000 to $100,000 pledged"
"$100,000 to $1,000,000 pledged"
"> $1,000,000 pledged"
goal String Goal amount One of:
"All"
"< $1,000 goal"
"$1,000 to $10,000 goal"
"$10,000 to $100,000 goal"
"$100,000 to $1,000,000 goal"
"> $1,000,000 goal"
raised String Amount raised One of:
"All"
"< 75% raised"
"75% to 100% raised"
"> 100% raised"
maxResults Number Maximum number of projects in output Positive number, 0 for up to 2400 results

Important considerations

Location - If you provide location to the Actor and it's set a string, it will run another actor to find ID associated with the location. Once the location is found, it will be outputed in the console. Next time if you provide the numeric ID instead of the location, it will not do the lookup again.

maxResults - Kickstarter will return a maximum of 200 pages, which is 2400 results. To get more results then this limit run multiple instances of this actor with more specific search terms.

Run & Console output

During the run, the actor will output messages letting the user know what is going on.

If you provide incorrect input the actor will immediately stop with Failure state and output an explanation of what is wrong.

Once input is properly parsed the actor will load first page of results and output information about the number of found results and how many results are remaining.

Every 10th page load will output prediction of how long it will take for the run to finish.

Dataset items

During the run, the actor is storing results into dataset, each project is a separate item in the dataset and it's structure looks like this:

{
  "id": 1293646151,
  "photo": "https://ksr-ugc.imgix.net/assets/023/084/557/b95fc7ed612431d640810da0c72b135d_original.jpg?ixlib=rb-1.1.0&crop=faces&w=560&h=315&fit=crop&v=1540944591&auto=format&frame=1&q=92&s=3d9c00ab27cc4b18fa1ba465602fefde",
  "name": "Curiously Cynical Creatures - Vinyl Stickers",
  "blurb": "I designed some animal stickers. Come get some! They will be vinyl, matte, and custom-cut.",
  "goal": 300,
  "pledged": 1.29,
  "state": "live",
  "slug": "curiously-cynical-creatures-vinyl-stickers",
  "disable_communication": false,
  "country": "CA",
  "currency": "CAD",
  "currency_symbol": "$",
  "currency_trailing_code": true,
  "deadline": 1542754904,
  "state_changed_at": 1541023304,
  "created_at": 1540916119,
  "launched_at": 1541023304,
  "staff_pick": false,
  "is_starrable": true,
  "backers_count": 1,
  "static_usd_rate": 0.76288474,
  "usd_pledged": "0.9841213146",
  "converted_pledged_amount": 0,
  "fx_rate": 0.76190766,
  "current_currency": "USD",
  "usd_type": "international",
  "spotlight": false,
  "creatorId": 440287730,
  "creatorName": "Compass",
  "creatorAvatar": "https://ksr-ugc.imgix.net/assets/023/078/718/07ea342826b1142d8ccbd60a5b138270_original.png?ixlib=rb-1.1.0&w=160&h=160&fit=crop&v=1540915675&auto=format&frame=1&q=92&s=45989ef82bbf1f5e4f9d28047558689c",
  "creatorUrl": "https://www.kickstarter.com/profile/440287730",
  "locationId": 22664159,
  "locationName": "Mississauga, Canada",
  "categoryId": 21,
  "categoryName": "Digital Art",
  "categorySlug": "art/digital art",
  "url": "https://www.kickstarter.com/projects/440287730/curiously-cynical-creatures-vinyl-stickers?ref=category_newest"
}