fecgov / openFEC

The first RESTful API for the Federal Election Commission. We're aiming to make campaign finance more accessible for journalists, academics, developers, and other transparency seekers.
https://api.open.fec.gov/developers
Other
479 stars 106 forks source link

schedule_e pagination missing last_expenditure_amount after a certain amount #2096

Closed hobbes3 closed 7 years ago

hobbes3 commented 7 years ago

I was paginating through schedule_e and at

https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=217066.7&last_index=4102120161344434432&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY

the response no longer gave a last_expenditure_amount (I'm sorting by expenditure_amount). If I ignore this and simply continue with the last_index

https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_index=2051320081089033477&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY

then it gives me a response of last_expenditure_amount back to 1.1 and I'm afraid it'll loop continuously (not tested).

For reference here is the full list of the URLs up to the point it breaks:

https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&per_page=100&is_notice=False&api_key=DEMO_KEY&candidate_id=P00003392 https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=1.08&last_index=4091220161316995590&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=2.07&last_index=4091220161316995468&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=2.62&last_index=4101320161340954630&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=3.13&last_index=4101320161340949161&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=3.13&last_index=4101320161340959307&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=3.85&last_index=4062220161299982231&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=4.04&last_index=4101320161340931803&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=4.17&last_index=4101320161340928421&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=4.17&last_index=4101320161340938483&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=4.17&last_index=4101320161340947311&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=4.45&last_index=4091220161316995730&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=5.09&last_index=4101320161340947109&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=5.34&last_index=4101320161340952571&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=5.92&last_index=4101320161340907284&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=6.25&last_index=4101320161340911745&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=6.48&last_index=4091220161316995714&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=6.92&last_index=4101320161340925130&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=7.09&last_index=4101320161340907821&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=7.28&last_index=4101320161340934033&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=7.5&last_index=4101320161340926959&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=7.84&last_index=4101320161340940100&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=8.22&last_index=4091220161316996194&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=8.73&last_index=4101320161340905512&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=8.79&last_index=4101320161340911481&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=9.07&last_index=4101320161340954201&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=9.3&last_index=4101320161340951851&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=9.42&last_index=4101320161340931498&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=9.7&last_index=4101320161340922576&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=9.71&last_index=4101320161340925216&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=10.14&last_index=4091220161316995474&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=10.69&last_index=4101320161340916643&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=10.69&last_index=4101320161340924491&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=10.69&last_index=4101320161340944761&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=11.09&last_index=4101320161340931893&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=11.09&last_index=4101320161340960234&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=11.36&last_index=4101320161340905537&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=11.49&last_index=4101320161340907749&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=11.77&last_index=4101320161340907172&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=11.9&last_index=4101320161340921967&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=12.08&last_index=4101320161340928115&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=12.11&last_index=4101320161340916999&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=12.24&last_index=4101320161340920887&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=12.47&last_index=4101320161340921995&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=12.57&last_index=4101320161340916165&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=12.66&last_index=4101320161340952641&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=12.78&last_index=4101320161340905562&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=12.93&last_index=4101320161340952702&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=13.16&last_index=4101320161340911673&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=14.15&last_index=4062220161299982319&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=14.85&last_index=4101320161340945033&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=15.68&last_index=4101320161340952602&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=17.1&last_index=4101320161340940771&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=17.1&last_index=4101320161340950719&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=17.1&last_index=4101320161340955586&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=17.1&last_index=4101320161340959913&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=18.16&last_index=4042620161284255086&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=19.24&last_index=4101320161340943403&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=21.38&last_index=4101320161340919669&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=21.38&last_index=4101320161340953547&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340921472&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340927115&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340930608&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340933827&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340937188&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340939477&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340942017&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340944409&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340946497&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340949509&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340953877&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=22.8&last_index=4101320161340958795&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=23.53&last_index=4101320161340946992&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=24.16&last_index=4101320161340948677&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=24.38&last_index=4101320161340937360&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=24.78&last_index=4101320161340954949&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=25.19&last_index=4101320161340934008&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=25.64&last_index=4101320161340902656&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=26.18&last_index=4101320161340908679&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=26.84&last_index=4101320161340942909&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340899872&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340901208&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340902209&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340903142&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340904002&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340904844&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340905626&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340906349&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340907120&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340907935&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340908691&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340909447&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340910161&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340910897&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340911617&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340912491&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340913257&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=27.93&last_index=4101320161340927603&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=29.4&last_index=4062220161299982441&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=31.43&last_index=4062220161299982693&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=33.13&last_index=4101320161340927935&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340903644&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340908057&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340913453&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340914477&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340915151&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340915843&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340916497&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340917205&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340917751&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340918449&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340919139&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340919893&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340920582&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340921462&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340922519&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340923239&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340924149&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340924785&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340925739&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340926389&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340927435&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340928451&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340929171&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340930405&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340931174&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340932302&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340933576&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340935215&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340937654&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340939454&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340941305&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340944493&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340947197&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340950113&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340953449&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340955082&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340956781&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340958879&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=34.2&last_index=4101320161340960956&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=36.32&last_index=4101320161340935526&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=37.23&last_index=4042820161284340612&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=38.19&last_index=4101320161340910419&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=38.6&last_index=4101320161340948094&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=39.63&last_index=4101320161340923009&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=39.67&last_index=4101320161340915017&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=41.8&last_index=4101320161340900396&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=43.72&last_index=4062220161299982569&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=44.58&last_index=4101320161340912809&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=44.61&last_index=4101320161340903722&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=45.19&last_index=4091220161316994903&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=45.82&last_index=4101320161340908179&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=47.06&last_index=4101320161340909799&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=47.06&last_index=4101320161340932434&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=47.06&last_index=4101320161340959075&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=47.08&last_index=4101320161340929133&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=48.64&last_index=4101320161340909483&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=49.56&last_index=4101320161340954698&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=51.3&last_index=4101320161340922097&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=52.25&last_index=4110820131198635012&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=55.56&last_index=4091220161316995238&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=55.86&last_index=4101320161340900562&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=55.86&last_index=4101320161340902551&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=57.0&last_index=4110820131198635590&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=62.18&last_index=4101320161340934870&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=66.93&last_index=4091220161316995288&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340920768&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340932622&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340934248&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340936374&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340937844&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340939181&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340940277&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340941409&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340942435&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340944539&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340945847&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340946891&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340948367&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340949451&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340950147&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340951241&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340953415&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340955264&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340956919&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340958291&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340959377&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68.4&last_index=4101320161340960653&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=71.25&last_index=4110820131198635382&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=75.52&last_index=4102120161344434660&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=77.2&last_index=4101320161340939095&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=78.33&last_index=4033020111137893123&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=79.41&last_index=4080220161307750018&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=84.52&last_index=4091220161316996052&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=89.16&last_index=4101320161340942605&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=91.64&last_index=4101320161340902067&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=94.11&last_index=4101320161340949341&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=99.07&last_index=4101320161340940765&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=99.74&last_index=4042820161284341086&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=111.29&last_index=4062220161299981927&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=125.0&last_index=4101920161344296837&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=137.7&last_index=4012120161260764550&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=153.14&last_index=4091220161316994761&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=168.82&last_index=4012120161260764563&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=185.25&last_index=4110820131198635308&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=207.85&last_index=4041520161283205689&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=230.62&last_index=4091220161316995824&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=252.29&last_index=4080220161307749894&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=277.23&last_index=4062220161299982539&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=301.85&last_index=4041020081087260842&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=330.47&last_index=4123020081103473564&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=353.2&last_index=4091220161316995026&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=384.07&last_index=4052320161293050484&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=432.22&last_index=4091220161316994631&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=468.08&last_index=4042820161284340848&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=500.0&last_index=4080320151248179046&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=538.91&last_index=4110820131198635220&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=591.88&last_index=4080520161308955558&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=647.14&last_index=4101120161340760468&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=709.46&last_index=4092820161334825983&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=771.8&last_index=4110820131198635477&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=857.14&last_index=4042820161284341664&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=931.07&last_index=4012120161260764818&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=997.13&last_index=4042820161284340634&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=1046.89&last_index=4110820131198635325&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=1156.91&last_index=4080420161308540271&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=1263.33&last_index=4080220161307749838&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=1384.8&last_index=4110820131198635159&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=1539.71&last_index=4123120081103535397&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=1729.0&last_index=4110820131198635095&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=1932.12&last_index=4070720151246002715&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=2108.14&last_index=4051820161292879472&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=2368.43&last_index=4012120161260765070&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=2710.0&last_index=4101920161344303444&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=3000.0&last_index=4102120161344434478&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=3400.55&last_index=4032220161276619580&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=3849.34&last_index=4051820161292879492&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=4350.84&last_index=4052120081089452903&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=4970.0&last_index=4091320161317007281&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=5872.5&last_index=4101920161344303614&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=6706.74&last_index=4071520081091838008&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=8083.42&last_index=4041520161283205778&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=9630.0&last_index=4121620081102448913&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=11534.23&last_index=4042220081087981279&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=14506.35&last_index=4070320081091666802&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=18618.87&last_index=4100320161335003711&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=24643.0&last_index=4082920161315986577&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=35000.0&last_index=4021120161262816334&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=68374.0&last_index=4121620081102448909&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_expenditure_amount=217066.7&last_index=4102120161344434432&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY (no last_expenditure_amount for the response above)

jontours commented 7 years ago

Hey @hobbes3, you've arrived to our newly added feature to enable paging when the specified sort column is null, in this case expenditure_amount. I don't know if it's obvious (it wasn't to me when first coming on this project) but last_expenditure_amount on any response correlates to the value in the JSON in the last entry of the results from the previous query. We use this in the pagination in a postgres sql statement to find the next set of results. This offers many performance advantages.

With that being said keyset pagination has some limitations if any of the columns used for filtering don't have a non-null constraint, as expenditure_amount demonstrates in being null in the last response you provided. If you look at the last response the response provided these values:

"last_indexes": {
"last_index": "2051320081089033477",
"sort_null_only": true
}

The sort_null_only=true flag should be passed in as a parameter to continue paging through the rest of the results. Are you using a script to paginate through the api? If you are then it should be a rather simple task to use an interator and just reference these parameters as provided, and don't hardcode any of the references into the json, in this case last_expenditure_amount.

I'm sorry if this is an inconvenience but this is better than the alternative: either not being able to paginate through the results, the results being invalid (e.g. duplicates in the response), or falling back to in this case unperformant seek pagination. I wrote a simple Python script that iterates through the responses and doesn't hardcode the indices if you would like a working example of how to iterate through these results.

hobbes3 commented 7 years ago

Hi @jontours. Thanks for your response!

I've never seen a null expenditure_amount. In fact, I started sorting expenditure_amount because there was an issue with sorting by expenditure_date since sometimes that was null. But I understand you're saying that sort_null_only will fix that and that's great!

So when I pass the last_indexes response

"last_indexes": {
    "last_index": "2051320081089033477",
    "sort_null_only": true
}

to get

https://api.open.fec.gov/v1/schedules/schedule_e/?sort=expenditure_amount&last_index=2051320081089033477&is_notice=False&candidate_id=P00003392&per_page=100&api_key=DEMO_KEY&sort_null_only=true

the response is

{"results":[],"pagination":{"count":36064,"per_page":100,"last_indexes":null,"pages":361},"api_version":"1.0"}

Which means it's done.

Thanks for your help!

jontours commented 7 years ago

You're welcome @hobbes3, I stand corrected there it seems with there being more results to page (although there could have been but it looks like you pulled all the nulled columns in that last response). But I'd say this issue is closed as well because there is really no guarantee any column is non-null, besides the primary key sub_id. Glad to help!