Mechanical Turk - getting results for a batch via API

We created HIT batches using the Mechanical Turk web interface. Now all we want to do is download the results for the package using the API, just as you can download the results for the package in the web interface using "Download CSV".

Amazon documentation says loading results from the API is possible, and I would be surprised if this is not the case. But after many hours of programming and testing, I could not get the package results.

http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_OperationsArticle.html

Our problem is not to get the HIT data, it is easy with GetHIT . Our problem is not getting destination data, which is easy to do with GetAssignmentsForHIT . Our problem is to determine the identifiers of the HIT package, so that we only get the results of this batch.

We thought we could do it with GetHITsForQualificationType , but since we use the same HIT type identifier for all parties, this is not possible. The only other operation that I see is SearchHITs, but this operation allows you to "sort" the values ​​rather than "filter", for example, the batch identifier.

If Amazon is an SOA company and they follow the concept of "eat their own dog food," I wonder how they generate results in "Download CSV" using their APIs.

Any hints would be greatly appreciated. Thanks!

UPDATE # 1

I think you could use SearchHITs to pull out all the HITs. Then grab the data for each HIT using GetHIT . Then filter out all the HITs with "RequesterAnnotation", which actually contains the batch ID, for example, "BatchId: 1234567;". This may be the only solution. That sounds a little strange.

+4
source share
1 answer

The workflow is exactly the same as you describe in your update # 1: (1) Use SearchHITs to get all your HITs. (2) Get information using GetHIT (you can skip this step because the Requester Annotation field comes with SearchHITs if you include the HITDetail response HITDetail ). (3) Filter the results by annotation field to get the required HIT. (4) Use GetAssignmentsForHIT to get appointments.

a "batch identifier" is what seems only available to Amazon for use in the Requester user interface. (see discussion on the MTurk Developer Forum )

And, of course, the API will give you XML results that you need to parse to turn them into CSV.

+2
source

All Articles